我有一个已退出的 docker 容器Exited (1) 8 seconds ago。我想以交互模式(bash 模式)输入它来检查出了什么问题,我该怎么做?
我知道我可以启动一个图像(docker run -it IMAGE_NAME /bin/bash)直接进入交互模式。
如何重新运行已退出的容器并进入交互模式?docker start -a CONTAINERID将导致它再次退出 1。因为有一个默认启动的自动命令,在Dockerfileas中指定CMD java ...
您可以使用命令将容器的当前状态转换为镜像docker commit。
例如,如果这是您运行原始图像的方式
\n$ docker run ubuntu touch what_went_wrong_file\nRun Code Online (Sandbox Code Playgroud)\n您可以用来docker ps查看容器的名称
$ docker ps -a -n 1 \nCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES\nabcdef012345 ubuntu "touch what_went_wro\xe2\x80\xa6" 42 seconds ago Exited (0) 23 seconds ago ron_pringadi\nRun Code Online (Sandbox Code Playgroud)\n然后提交更改
\n$ docker commit abcdef012345 what_went_wrong_image # or\n$ docker commit ron_pringadi what_went_wrong_image\nRun Code Online (Sandbox Code Playgroud)\n现在您已经有了一个映像,您可以在新容器中运行它并探索其内容
\n$ docker run -it what_went_wrong_image bash\nroot@01234abcdef:/# ls -l what_went_wrong_file\n-rw-r--r-- 1 root root 0 Feb 31 24:00 what_went_wrong_file\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
5794 次 |
| 最近记录: |