公式チュートリアルに従って、docker swarm を手動でセットアップすることができました (例: docker-machine を使用せずに)。
docker エンジンを使用して、swarm でコンテナーを正常に実行できます。
docker -H :4000 run redis
docker-compose を使用して swarm でコンテナーを実行したいのですが、これを正しく行うことができないようです。
私が最初に解決しなければならなかったことは、 compose を port で話せるようにする方法でした:4000
。私は指定することでこれを達成しました: export DOCKER_HOST=":4000"
.
ただし、docker-compose を実行すると、次のエラーが発生します。
$docker-compose up
Creating network "root_default" with the default driver
ERROR: Error response from daemon: failed to parse pool request for address space "GlobalDefault" pool "" subpool "": cannot find address space GlobalDefault (most likely the backing datastore is not configured)
この問題は TLS かネットワークのどちらかに関係しているように感じますが、それを修正する方法や、さらに詳しく調査する方法についてはかなり困惑しています。
Docker エンジンを使用しています: 1.10、Compose 1.6。スウォーム:最新
参考までに、ここに私の docker 情報を示します。
$docker -H :4000 info
Containers: 7
Running: 5
Paused: 0
Stopped: 2
Images: 7
Server Version: swarm/1.2.0
Role: primary
Strategy: spread
Filters: health, port, dependency, affinity, constraint
Nodes: 2
node02: 10.129.5.211:2375
└ Status: Healthy
└ Containers: 3
└ Reserved CPUs: 0 / 2
└ Reserved Memory: 0 B / 2.053 GiB
└ Labels: executiondriver=, kernelversion=3.13.0-79-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs
└ Error: (none)
└ UpdatedAt: 2016-04-15T08:28:20Z
└ ServerVersion: 1.11.0
node03: 10.129.6.21:2375
└ Status: Healthy
└ Containers: 4
└ Reserved CPUs: 0 / 2
└ Reserved Memory: 0 B / 2.053 GiB
└ Labels: executiondriver=, kernelversion=3.13.0-79-generic, operatingsystem=Ubuntu 14.04.4 LTS, storagedriver=aufs
└ Error: (none)
└ UpdatedAt: 2016-04-15T08:28:43Z
└ ServerVersion: 1.11.0
Plugins:
Volume:
Network:
Kernel Version: 3.13.0-79-generic
Operating System: linux
Architecture: amd64
CPUs: 4
Total Memory: 4.105 GiB
Name: b156985db557
Docker Root Dir:
Debug mode (client): false
Debug mode (server): false
WARNING: No kernel memory limit support