gpt4 book ai didi

startup - Docker 容器无法在启动时启动

转载 作者:行者123 更新时间:2023-12-04 23:49:56 29 4
gpt4 key购买 nike

我正在运行一个带有在重启时调用的启动脚本的 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”不需要输入密码。

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

每当我手动运行启动脚本时,它都能完美运行,这对我来说就像是环境变量/PATH 问题。搜索有关未设置 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

最佳答案

“解决方案”最终是在调用启动 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 所说:

...if you take a look inside /etc/init.d/docker, you'll see that calling start uses the --background option to start-stop-daemon which means it's still doing stuff when it returns.



为什么不直接使用 && ?

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

关于startup - Docker 容器无法在启动时启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25077685/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com