簡體   English   中英

Docker如何在快速退出的容器上獲取​​shell

[英]Docker how to get shell on a container that exits fast

我有一個容器問題,導致它立即退出。 我通常在有問題的容器上運行此命令以在其中獲取 shell 並調查問題。

docker exec -it <container_name> /bin/bash

但是,如果容器幾乎立即失敗,這將不起作用。

如何輕松進入退出的容器以便找到問題?

第一種方式

docker run -it <container_name> sleep 20200202

然后嘗試

docker exec -it <container_name> bash

如果您定義了任何入口點:

docker run -it --entrypoint "" <container_name> bash

您還可以使用其他方法將您的命令輸出重定向到/dev/null ...因此stdout永遠不會讀取退出。 但是,上述方法非常簡單,也可以使用 compose 文件進行復制。

注意:如果您仍想運行<someCommandWhichExists> ,只需在打開的 bash 終端上運行它。

第二種方式

假設xcontainerid容器已經從 docker docker ps -a的輸出中退出。

如果你想進入這個特定的容器,只需點擊:

docker commit xcontainerid ximagename docker run -it --entrypoint "" ximagename bash

ximagename將具有與您退出的xcontainerid完全相同的環境。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM