要让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
选择哪种方法取决于你的具体需求。对于开发和调试,方法一和方法二比较常用;对于生产环境,方法五是最佳实践。