Я работаю над незанятой книжкой для запуска частного реестра докеров, но у меня возникла проблема с запуском докера. Проблема, с которой я сталкиваюсь, заключается в том, что демон 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, чтобы гарантировать запуск демона?
Да, я бы попробовал команду «сервис» в Ansible. Вы можете попробовать сделать паузу в течение N секунд, чтобы разрешить запуск службы Docker. '- name: Пауза для запуска запуска Docker' ' пауза: секунды = 3' –