簡體   English   中英

如何運行docker-compose對抗docker swarm(沒有docker-machine)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM