[英]How to run docker-compose against docker swarm (without docker-machine)
我已經設法在官方教程之后手動設置一個docker swarm(例如:不使用docker-machine)
我能夠使用docker引擎成功地在swarm上運行容器:
docker -H :4000 run redis
我想使用docker-compose在swarm上運行容器,但是我似乎無法做到這一點。
我必須解決的第一件事是如何在端口上進行談話:4000
。 我通過指定: export DOCKER_HOST=":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 -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
我在我們的制作中使用Docker 1.10,Docker Swarm,Docker Compose。
我過去遇到過同樣的問題。 我通過以下步驟解決了這個問題:
第1步: export DOCKER_HOST=tcp://localhost:4000
步驟2:通過命令docker info
驗證Docker Swarm(不帶-H)。 如果不行,請確保Swarm Manager正在為您的主機工作。
第3步:如果第2步沒問題。 在Docker Compose docker-compose up
運行你的應用程序
我遇到了同樣的問題並在此處找到了答案: https : //groups.google.com/a/weave.works/forum/m/#!topic /weave-users / RM6fv9OEd-E
解決了什么:
要使它與docker-compose 2一起使用,您應該添加:
network_mode: "bridge"
所有服務定義。
要刪除上述錯誤,您需要在每個節點上運行docker deamon
docker run -d -p 4000:4000 swarm manage -H:4000 --replication --advertise 192.168.56.103:4000 consul://192.168.56.101:8500
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.