代码之家  ›  专栏  ›  技术社区  ›  Guerrilla

附加到生成异常的容器

  •  1
  • Guerrilla  · 技术社区  · 5 年前

    我有一个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
    

    我得到:

    来自守护程序的错误响应:容器87ac5aade2d298c113bd31b5094b5095601eafc6fe29aebc046eacc76c5c2c9未运行

    我也尝试过:

    docker run -it --rm starterapp /bin/bash -i
    

    但它仍然会在异常之后转储,并且不会打开bash命令提示符。

    如何进入bash shell来调试该问题?由于缺少值,异常是由kestrel(webserver)生成的,因此我应该能够免费访问bash prompt issue,我只是无法让它继续运行,因此无法附加到它。

    1 回复  |  直到 5 年前
        1
  •  2
  •   Yamuk    5 年前

    用覆盖入口点 --entrypoint 参数。你可以这样做:

    docker run -p 8080:80 -ti --env-file=Environment/secret.env --name starter1 --entrypoint /bin/bash starterapp