我有一个因异常而提前退出的Docker容器。我想连接到它以调试问题,但为了连接到它,我似乎无法使其保持运行状态。
这是我最初的运行命令:
docker run -p 8080:80 --env-file=Environment/secret.env --name starter1 starterapp
如果我尝试:
docker attach starter1
它给出:
您无法附加到已停止的容器,请先启动
如果我尝试:
docker start -ai starter1
开始但给我例外然后退出。
如果我尝试:
docker exec -i -t starter1 /bin/bash
我得到:
守护程序的错误响应:容器87ac5aade2d298c113bd31b50944b5095601eafc6fe29aebc046eacc76c5c2c9未运行
我也尝试过:
docker run -it --rm starterapp /bin/bash -i
但是它在发生异常后仍然会转储,并且不会打开bash命令提示符。
如何进入bash shell调试问题?由于缺少值,因此从kestrel(网络服务器)生成了异常,因此我应该能够免费访问bash提示问题,我只是无法使其保持运行状态,因此无法对其进行附加。
答案 0 :(得分:2)
使用--entrypoint
参数覆盖入口点。您可以执行以下操作:
docker run -p 8080:80 -ti --env-file=Environment/secret.env --name starter1 --entrypoint /bin/bash starterapp