当运行错误代码 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 立即退出的主要内容,如果未能解决你的问题,请参考以下文章
当 docker-compose 的一部分时,自定义 nginx 容器立即退出
无法使用 Rider 调试使用 docker 容器和 docker-compose 构建的 .net 核心应用程序。容器退出代码 139