我尝试使用以下命令启动container
sudo docker run ubuntu
之后我查了
sudo docker ps -a
发现容器已退出它为什么退出?我怎么能让它在后台运行而不指定它,并在需要时附加到它?
e5nszbig1#
我自己解决了这个问题,保持容器运行并等待进一步的“attach”或“exec”的优雅方法如下(通过-i选项保持STDIN打开)
docker run -i -d ubuntu
vq8itlhq2#
您需要使用不会退出的docker run命令启动应用程序。示例:docker run -d --entrypoint '/bin/bash cat' ubuntu
docker run -d --entrypoint '/bin/bash cat' ubuntu
tzdcorbm3#
正确语法为(from x1月1x)docker run [OPTIONS] IMAGE [COMMAND] [ARG...]你忘记指定一个命令。你应该去码头中心看看https://registry.hub.docker.com/例如,对于nginx,如果您查看https://hub.docker.com/_/nginx/你会发现docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx如果你看看https://github.com/nginxinc/docker-nginx/blob/7f3ef0927ec619d20181e677c97f991df0d7d446/Dockerfile您会注意到停靠文件的最后一行是CMD ["nginx", "-g", "daemon off;"]这意味着当您启动docker映像nginx时,隐式操作是启动nginx。
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
CMD ["nginx", "-g", "daemon off;"]
qlckcl4x4#
您可以在运行容器时添加tail命令。
docker run -d ubuntu tail -f /dev/null
kyxcudwk5#
如果希望容器不存在,则必须使用-d参数看起来是这样的:
-d
docker run -d ubuntu
5条答案
按热度按时间e5nszbig1#
我自己解决了这个问题,保持容器运行并等待进一步的“attach”或“exec”的优雅方法如下(通过-i选项保持STDIN打开)
vq8itlhq2#
您需要使用不会退出的docker run命令启动应用程序。
示例:
docker run -d --entrypoint '/bin/bash cat' ubuntu
tzdcorbm3#
正确语法为
(from x1月1x)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
你忘记指定一个命令。
你应该去码头中心看看
https://registry.hub.docker.com/
例如,对于nginx,如果您查看
https://hub.docker.com/_/nginx/
你会发现
docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx
如果你看看
https://github.com/nginxinc/docker-nginx/blob/7f3ef0927ec619d20181e677c97f991df0d7d446/Dockerfile
您会注意到停靠文件的最后一行是
CMD ["nginx", "-g", "daemon off;"]
这意味着当您启动docker映像nginx时,隐式操作是启动nginx。
qlckcl4x4#
您可以在运行容器时添加tail命令。
kyxcudwk5#
如果希望容器不存在,则必须使用
-d
参数看起来是这样的: