如何以交互式终端模式启动已预先创建的Docker容器?
Docker 容器预先创建后复用交互终端的解决方案
-i/-t是容器创建阶段的配置属性,不属于docker start的运行时参数,需要在执行docker create时就提前声明。
正确操作步骤
- 创建带交互属性的容器
执行命令:
docker create -it --name mycontainer myimage
参数说明:
-i:保持容器的标准输入流开启-t:为容器分配伪终端--name mycontainer:自定义容器名称为mycontainer,方便后续调用
- 启动容器并进入交互模式
执行命令:
docker start -ai mycontainer
参数说明:
-a:将当前控制台附加到容器的输出流,展示容器运行输出-i:将当前控制台的输入流绑定到容器的标准输入,支持交互操作
执行后即可获得和docker run -it myimage完全一致的交互效果,容器停止后再次执行上述docker start命令即可复用,无需重复创建。
额外场景补充
如果容器已经在后台运行,无需重启即可新开交互终端,执行:
docker exec -it mycontainer bash
(若容器默认shell不是bash,可替换为sh等对应shell名称)
内容的提问来源于stack exchange,提问作者aelesia
相关产品推荐
相关产品推荐

