交互式 docker 容器需用 docker run -it 启动,其中 -i 保持标准输入打开,-t 分配伪终端,二者结合实现完整交互;退出时按 ctrl+p+q 可保留容器运行,docker exec -it 则用于安全进入已运行容器。

交互式 Docker 容器是能让你直接进入容器内部、执行命令、实时看到输出的运行环境,适合调试、测试或临时操作。核心就是用 docker run -it 启动,而不是后台运行。
关键参数:-i 和 -t 缺一不可
-i(interactive)保持标准输入打开,让你能敲命令;
-t(tty)分配一个伪终端,让 shell 显示正常(比如有提示符、支持上下箭头、清屏等)。
两个必须一起用,合称 -it,单独用效果不完整。
常用创建方式
- 最简形式:直接启动并进入 bash/sh
docker run -it ubuntu:22.04 /bin/bash
镜像不存在会自动拉取,进入后就是一个干净的 Ubuntu 终端。 - 指定容器名,方便后续管理:
docker run -it --name mydev centos:7 /bin/bash - 挂载本地目录,便于文件交换:
docker run -it -v $(pwd):/workspace ubuntu:22.04 /bin/bash
当前目录会映射到容器里的/workspace,改文件宿主机同步可见。
退出但不关闭容器
在容器内按 Ctrl+P 再按 Ctrl+Q,可静默退出,容器继续运行。
之后可用 docker attach mydev 重新连进去。
⚠️ 注意:如果直接输 exit 或按 Ctrl+D,容器进程结束,状态变为 Exited。
后续常用操作
- 查看正在运行的容器:
docker ps - 查看所有容器(含已退出):
docker ps -a - 重新启动已退出的容器:
docker start mydev - 以新终端进入正在运行的容器:
docker exec -it mydev /bin/bash
(推荐方式,比 attach 更安全,不会因误操作影响原进程)











