守护式容器(Daemonized Container)是Docker中一种在后台长期运行的容器运行模式,与交互式容器(Interactive Container)相对。
守护式容器具有以下特点: - 在后台运行,不占用终端 - 适合运行服务类应用(如Web服务器、数据库等) - 没有交互式输入,但可以通过日志查看输出 - 会一直运行直到被明确停止
创建守护式容器的基本命令:
docker run -d [IMAGE] [COMMAND]
其中-d
或--detach
参数表示以守护模式运行容器。
# 以后台方式运行Nginx容器
docker run -d -p 80:80 --name my-nginx nginx
# 以后台方式运行Redis容器
docker run -d --name my-redis redis
常用管理命令:
# 查看运行中的容器
docker ps
# 查看所有容器(包括停止的)
docker ps -a
# 停止容器
docker stop [CONTAINER_ID/NAME]
# 启动已停止的容器
docker start [CONTAINER_ID/NAME]
# 重启容器
docker restart [CONTAINER_ID/NAME]
# 删除容器
docker rm [CONTAINER_ID/NAME]
由于守护式容器在后台运行,可以通过日志查看其输出:
docker logs [CONTAINER_ID/NAME]
# 实时查看日志(类似tail -f)
docker logs -f [CONTAINER_ID/NAME]
有时需要进入正在运行的容器进行调试:
# 使用exec命令进入容器
docker exec -it [CONTAINER_ID/NAME] /bin/bash
# 使用attach命令附加到容器(不推荐,退出会导致容器停止)
docker attach [CONTAINER_ID/NAME]
--name
)--memory
, --cpus
)--restart
)-v
)--health-cmd
)守护式容器是Docker在生产环境中最常用的运行方式,适合部署各种服务型应用。