我一直在研究一个安息船游戏手册,以启动一个私人码头注册表,但我遇到一个问题,让码头运行 . 我遇到的问题是docker守护程序无法正常启动 .
我正试图在我过去做过的aws ec2实例上启动docker守护进程 . 主机操作系统是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] => {“已更改”:false,“失败”:true} msg:ConnectionError(MaxRetryError(“UnixHTTPConnectionPool(host) ='localhost',port = None):使用url超出最大重试次数:/run/docker.sock/v1.12/containers/json?all=1&limit=-1&trunc_cmd=1&size=0(引起:[Errno 111]连接拒绝)”,),)
致命:所有主机都已经失败 - 中止
我试过推杆
service docker start
和
shell: sudo docker -d &
在强制守护进程启动的游戏之前(在不同的时间和单独的ec2上尝试每个)都没有给出错误,但它们并没有停止前面提到的错误 .
我可以ssh进入ec2并手动启动守护进程
sudo docker -d &
然后手动启动Redis实例,但目标是使用ansible playbook自动执行此过程,以防我们需要构建其他docker注册表 .
有没有人建议我如何使用ansible来确保守护进程正在启动?
1 回答
在14.04中,服务名称为 docker.io .
我可以通过手动停止docker.io服务并使用以下内容成功重新启动它来重新创建您的问题 .