怎样进入容器执行命令
核心问题
怎样在不停止容器的情况下检查内部环境?
一句话理解
使用 docker exec 在运行中的容器里启动一个新命令。
最小实践
bash
docker run -d --name web nginx:alpine
docker exec -it web sh
进入后可以执行:
sh
pwd
ls
env
cat /etc/os-release
输入 exit 退出终端,容器不会停止。
也可以直接执行单条命令:
bash
docker exec web nginx -T
常见误区
- Alpine 等精简镜像可能只有
sh,没有bash。 exec只能操作正在运行的容器。- 不要进入容器手工修改生产配置;正确做法是修改镜像或外部配置后重建。
延伸问题
进入容器适合检查现场,但程序报错首先应该看日志。