2016-04-15 5 views
3

мне удалось вручную настроить Docker роя (например, без использования Докер-машины) после the official tutorialКак запустить докер-компоновать против Docker роя (без Докер-машины)

Я могу запустить контейнеры на рой успешно использует Docker двигатель:

docker -H :4000 run redis 

Я хотел бы использовать Докер-Compose для запуска контейнеров на роя, однако я не могу показаться, чтобы получить это право.

Первым делом я должен был разобраться, как скомпоновать разговор на порту :4000. Я достиг этого, указав: export DOCKER_HOST=":4000".

Однако, теперь, когда я бегу Докер-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. Swarm: последние

В случае, если это полезно, вот мой докер информация:

$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 

ответ

-1

удалить вышеуказанную ошибку, вам нужно запустить Docker Deamon на каждом узле, как этот

Docker выполнения -d -p 4000: 4000 swarm manage -H: 4000 --replication --advertise 192.168.56.103:4000 consul: //192.168.56.101: 8500

+0

Hi Шуджи. Думаю, я уже это делаю? (ну, по крайней мере, на главных узлах) - не могли бы вы объяснить, что конкретно в этой команде исправляет проблему выше? – toast38coza

+0

@ toast38coza Ошибка указывает, что демон Docker Engine не настроен на работу с службой обнаружения. Вышеуказанное предложение исправит его – omercnet

+0

Я не думаю, что в этом проблема. Точная команда, которую я запускаю для мастеров рой, это: 'docker run -d -p 4000: 4000 swarm manage -H: 4000 --replication - -advertise : 4000 consul: // toast38coza

0

Я использую Docker 1.10, Docker Swarm, Docker Compose на нашей продукции.

Я столкнулся с той же проблемой в прошлом. И я решил его шагами, как показано ниже:

Шаг 1: export DOCKER_HOST=tcp://localhost:4000

Шаг 2: Проверка DOCKER Swarm командой docker info (без -H). Если это не так, убедитесь, что Swarm Manager работает с вашим хостом.

Шаг 3: Если шаг 2 в порядке. Запустите приложение на Докер Написать docker-compose up

Смежные вопросы