运行新Docker容器时如何不进入Python解释器直接进入容器shell
解决方案
你的需求完全可以实现,操作方法如下:
问题原因
官方python:3.8镜像默认的启动命令是python3,因此你之前不加额外启动命令运行容器时,容器会默认启动Python解释器作为前台进程,当你退出Python解释器后,容器没有正在运行的前台进程,就会自动退出。
正确启动命令
在原有docker run命令末尾追加/bin/bash,指定容器启动时运行bash终端而非默认的Python解释器即可,完整命令如下:
docker run -it --name first_container -v app_files:/appfiles python:3.8 /bin/bash
执行命令后你会直接进入容器内root@first_container的终端,可正常执行各类操作。
退出不停止容器的操作
需要退出终端但保持容器运行时,按ctrl + p + q组合键即可。后续如果需要再次进入运行中的容器,可执行以下命令:
docker exec -it first_container /bin/bash
注意事项
- 如果你之前已经创建过名为
first_container的容器,执行上述启动命令前需要先删除旧容器,执行命令:docker rm first_container
内容的提问来源于stack exchange,提问作者p3nchan
相关产品推荐
相关产品推荐

