2014-09-19 5 views
2

Я работаю над незанятой книжкой для запуска частного реестра докеров, но у меня возникла проблема с запуском докера. Проблема, с которой я сталкиваюсь, заключается в том, что демон docker не запускается должным образом.Запуск Docker Daemon через Ansible

Я пытаюсь запустить демона докеров на экземпляр aws ec2, который я делал в прошлом. Хост os - ubuntu 14.04.

Первый контейнер я начинаю это экземпляр Redis, он должен начать со следующей игрой

- name: Run a Redis instance 
    sudo: yes 
    docker: 
    image: dockerfile/redis 
    ports: 6379:6379 
    name: redis 
    volumes: "{{ host_redis_config_dir }}:{{ container_redis_config_dir }}" 
    state: running 
    command: "redis-server {{ container_redis_config_dir}}/{{ host_redis_config }}" 

Это не может каждый раз со следующей ошибкой

не удалось: [ec2-54-68-242 -100.us-west-2.compute.amazonaws.com] => {"changed": false, "failed": true} msg: ConnectionError (MaxRetryError ("UnixHTTPConnectionPool (host = 'localhost', port = None) : Максимальное количество попыток превышено с помощью url: /run/docker.sock/v1.12/containers/json?all=1 & limit = -1 & trunc_cmd = 1 & размер = 0 (Вызванный: [Errno 111] Соединение отклонено)»,),)

FATAL: все хозяева уже не смогли - отбрасывание

Я попытался положить

service docker start 

и

shell: sudo docker -d & 

Впереди игры, чтобы заставить демона, чтобы начать (попробовал каждый в разное время и на отдельном EC2), ни дать ошибку, но они не остановятся ранее упомянутой ошибки.

я могу SSH в EC2 и запустить демон вручную с

sudo docker -d & 

, а затем запустить экземпляр Redis вручную, но цель, чтобы этот процесс будет автоматизирован с анзибль пьес в случае, если мы когда-нибудь понадобится для создания дополнительных реестров докеров.

Есть ли у кого-нибудь предложение о том, как я могу использовать unsible, чтобы гарантировать запуск демона?

ответ

0

В 14.04 название службы: docker.io.

Я могу воссоздать вашу проблему именно вручную, остановив службу docker.io и успешно перезапустив ее как часть игры со следующим.

service: name=docker.io state=started 
+0

Да, я бы попробовал команду «сервис» в Ansible. Вы можете попробовать сделать паузу в течение N секунд, чтобы разрешить запуск службы Docker. '- name: Пауза для запуска запуска Docker' ' пауза: секунды = 3' –