Docker容器无法在启动时启动

我正在运行一个启动脚本,在重新启动时调用一个EC2实例。 这个启动脚本在启动容器之前检查docker守护进程是否正在运行,但是失败并返回错误信息: Post http:///var/run/docker.sock/v1.13/containers/create: dial unix /var/run/docker.sock: no such file or directory

启动脚本

 # Make sure the docker daemon has started sudo /usr/sbin/service docker start # start the container sudo /usr/bin/docker run -d 91b5261e2dc0 

请注意,他是在一个ec2实例,其中“sudo”不需要input密码。

Crontab项目:

 @reboot /bin/bash /home/ubuntu/start-container.sh 2> /home/ubuntu/cron_errors.log 

错误:

 start: Job is already running: docker 2014/08/01 09:45:48 Post http:///var/run/docker.sock/v1.13/containers/create: dial unix /var/run/docker.sock: no such file or directory 

每当我手动运行启动脚本,它完美的作品,使得它看起来像一个环境variables/path问题给我。 search周围发现有关不设置DOCKER_HOST的信息,但启动脚本工作正常,即使DOCKER_HOST仍未设置。

我需要更改或定义什么来确保容器在启动时正确启动?

版本信息

操作系统:Ubuntu 14.04硬件虚拟化。

Docker版本:

 Client version: 1.1.2 Client API version: 1.13 Go version (client): go1.2.1 Git commit (client): d84a070 Server version: 1.1.2 Server API version: 1.13 Go version (server): go1.2.1 Git commit (server): d84a070 

uname -a输出

 Linux ip-10-76-167-92 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux 

这个“解决scheme”最终是在启动docker守护进程之后进入睡眠或等待状态。 例如

 # Make sure the docker daemon has started sudo /usr/sbin/service docker start # Wait for the docker daemon to finish starting sleep 10 # start the container sudo /usr/bin/docker run -d 91b5261e2dc0 

这似乎是因为Chris McKinnel说:

…如果你看看/etc/init.d/docker,你会发现调用开始使用–background选项来启动 – 停止守护进程,这意味着它仍然在做什么,当它返回。

为什么不使用&&?

我尝试使用&&在启动docker守护进程之后对容器的起始位置进行排队,但是&&只会在前者成功的情况下运行下一个命令(这并非总是如此)(例如,如果docker守护程序已经在运行) 。 [ ref ]

另一种解决scheme可能是使用–restart = always选项手动运行此容器:

 docker run --restart=always -d 91b5261e2dc0 

docker工程师将在docker start之后启动所有这样的容器,并且如果容器没有docker stop命令就停止。

您可以在运行容器之前等待docker套接字可用:

 # Start the docker daemon sudo /usr/sbin/service docker start # Wait for docker socket to become available while [ ! -e /var/run/docker.sock ]; do sleep 1; done # start the container sudo /usr/bin/docker run -d 91b5261e2dc0