要让Docker容器持续运行而不退出,有几种常见的方法。以下是详细的解决方案:
docker run -it ubuntu /bin/bash
-it 参数保持STDIN打开并分配伪终端docker run -d ubuntu tail -f /dev/null
tail -f /dev/null 是一个永远不会结束的命令-d 参数让容器在后台运行keepalive.sh脚本:#!/bin/bash
while true; do sleep 1; done
FROM ubuntu
COPY keepalive.sh /
RUN chmod +x /keepalive.sh
ENTRYPOINT ["/keepalive.sh"]
docker build -t keepalive .
docker run -d keepalive
docker run -d ubuntu sleep infinity
sleep infinity 是一个简单有效的保持容器运行的命令docker run -d nginx
docker logs <container-id>查看容器日志docker exec -it <container-id> /bin/bash进入运行中的容器docker ps -a选择哪种方法取决于你的具体需求。对于开发和调试,方法一和方法二比较常用;对于生产环境,方法五是最佳实践。