3

公式チュートリアルに従って、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
4

3 に答える 3

0

私は同じ問題に遭遇し、ここで答えを見つけました: https://groups.google.com/a/weave.works/forum/m/#!topic/weave-users/Mf6fv9OEd-E

それを修正したのは:

docker-compose 2 で動作させるには、以下を追加する必要があります。

network_mode: "bridge" 

すべてのサービス定義に。

于 2016-07-31T08:10:47.323 に答える
0

本番環境では Docker 1.10、Docker Swarm、Docker Compose を使用しています。

私は過去に同じ問題に遭遇しました。そして、以下の手順で解決しました。

ステップ1:export DOCKER_HOST=tcp://localhost:4000

ステップ 2: コマンドdocker info(-H なし) で Docker Swarm を確認します。うまくいかない場合は、Swarm Manager がホストで動作していることを確認してください。

ステップ 3: ステップ 2 で問題ない場合。Docker Compose でアプリケーションを実行するdocker-compose up

于 2016-07-28T08:15:21.257 に答える