当运行错误代码 139 时,docker 立即退出

Posted

技术标签:

【中文标题】当运行错误代码 139 时,docker 立即退出【英文标题】:docker is exited immediately when runs with error code 139 【发布时间】:2019-08-25 18:38:08 【问题描述】:

当我通过 Visual Studio 运行时,我有一个运行良好的 Web api 项目,也能够构建图像。 但是当我使用命令运行时

docker run -d -t -p 8000:83 8fbf296e2173

显示没有错误,容器将在docker ps -a 中列出状态

Exited (139) 1 second ago

请帮忙解决这个问题

【问题讨论】:

【参考方案1】:

供任何人日后参考; Docker 退出代码139 (128 + 11) 表示容器收到了SIGSEGV。这可能是无效内存引用的结果。

参考:https://***.com/a/35410993/7160815

【讨论】:

【参考方案2】:

开始使用 WSL 2 并遇到同样的问题。此处发布的解决方法为我解决了问题: https://github.com/microsoft/WSL/issues/4694#issuecomment-556095344

【讨论】:

感谢@sam-worley,您的回答者给了我正确的方法。总结:在用户目录C://users/[你的用户名]/.wslconfig中创建一个名为.wslconfig的文件,内容为“[wsl2] kernelCommandLine = vsyscall=emulate”并重启电脑:dev.to/damith/…【参考方案3】:

我在尝试从我的主机连接到端口 1433 到 docker 时遇到了同样的问题(错误代码 139)。我能够通过使用 Administrator: Windows Powershell 解决它。

【讨论】:

【参考方案4】:

如果不了解正在运行的映像的更多信息,就不可能说出根本原因是什么。但是,Exited (139) 基本上意味着容器的 PID 1 被发送到SIGKILL。它可能是任何东西,段错误,内存不足,堆栈溢出等。

【讨论】:

感谢 wmorrell,有什么方法可以在某处记录此错误 使用在 docker ps 输出中找到的容器 ID 运行 docker inspect [container ID]。这将转储一个包含有关该容器信息的大型 JSON 对象,可能包括有关导致终止的原因的更多信息。另外,docker logs [container ID].

以上是关于当运行错误代码 139 时,docker 立即退出的主要内容,如果未能解决你的问题,请参考以下文章

Pycharm 调试器立即退出 139 代码

为啥docker容器立即退出

当 docker-compose 的一部分时,自定义 nginx 容器立即退出

无法使用 Rider 调试使用 docker 容器和 docker-compose 构建的 .net 核心应用程序。容器退出代码 139

进程以退出代码139完成

Android Studio Emulator崩溃:进程以退出代码139结束(由信号11中断:SIGSEGV)