Alpine 3.6 Docker 容器停止时出错(退出代码 137)
Alpine 3.6 Docker container error on stop (exit code 137)
容器 运行 Ubuntu 16.04
下面我是怎么做的(随机名称 sad_wiles
创建):
docker run -it -d alpine /bin/ash
docker run -it -d alpine /bin/sh
docker run -ti -d alpine
docker start sad_wiles
运行 很好,我可以进出 sh
但是,docker stop sad_wiles
给出退出代码 137。下面是日志:
2017-11-25T23:22:25.301992880+08:00 container kill 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (image=alpine, name=sad_wiles, signal=15)
2017-11-25T23:22:35.302560688+08:00 container kill 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (image=alpine, name=sad_wiles, signal=9)
2017-11-25T23:22:35.328791538+08:00 container die 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (exitCode=137, image=alpine, name=sad_wiles)
2017-11-25T23:22:35.547890765+08:00 network disconnect 3b36d7a71af5a43f0ee3cb95c159514a6d5a02d0d5d8cf903f51d619d6973b35 (container=61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d, name=bridge, type=bridge)
2017-11-25T23:22:35.647073922+08:00 container stop 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (image=alpine, name=sad_wiles)
这不是@yament 评论中提到的错误当您执行 docker 停止并且初始正常停止失败并且 docker 必须执行时,您将看到此退出代码一个 sigkill。如前所述 here,这是一个 linux 标准:128 + 9 = 137(9 来自 SIGKILL)。
您可以在 Docker Mac os 上的应用 > 首选项 > 高级中增加内存限制。将此 mem_limit=384m
更改为 512m 即可。这里有额外的资源可以帮助你,Exit Status
如果您对 sad_wiles 名称如何作为您的容器名称出现感到好奇,那是早期的 Docker 功能。如果您在 Docker 运行 命令中使用 --name 标签没有为您的 Docker 容器指定一个名称,Docker 将基于一个打开的容器创建一个名称科学家和黑客的来源列表。您可以从 here.
获取其源代码
信号代码问题可能是由于 Docker 的内存限制较低。 github 问题也被打开了。从 here 引用它。尝试按照所附 github 问题的评论建议更改 Docker 的内存分配。
容器 运行 Ubuntu 16.04
下面我是怎么做的(随机名称 sad_wiles
创建):
docker run -it -d alpine /bin/ash
docker run -it -d alpine /bin/sh
docker run -ti -d alpine
docker start sad_wiles
运行 很好,我可以进出 sh
但是,docker stop sad_wiles
给出退出代码 137。下面是日志:
2017-11-25T23:22:25.301992880+08:00 container kill 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (image=alpine, name=sad_wiles, signal=15)
2017-11-25T23:22:35.302560688+08:00 container kill 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (image=alpine, name=sad_wiles, signal=9)
2017-11-25T23:22:35.328791538+08:00 container die 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (exitCode=137, image=alpine, name=sad_wiles)
2017-11-25T23:22:35.547890765+08:00 network disconnect 3b36d7a71af5a43f0ee3cb95c159514a6d5a02d0d5d8cf903f51d619d6973b35 (container=61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d, name=bridge, type=bridge)
2017-11-25T23:22:35.647073922+08:00 container stop 61ea1f10c98e2462f496f9048dcc6b45e536d3f7ba14747f7f22b96afb2db60d (image=alpine, name=sad_wiles)
这不是@yament 评论中提到的错误当您执行 docker 停止并且初始正常停止失败并且 docker 必须执行时,您将看到此退出代码一个 sigkill。如前所述 here,这是一个 linux 标准:128 + 9 = 137(9 来自 SIGKILL)。
您可以在 Docker Mac os 上的应用 > 首选项 > 高级中增加内存限制。将此 mem_limit=384m
更改为 512m 即可。这里有额外的资源可以帮助你,Exit Status
如果您对 sad_wiles 名称如何作为您的容器名称出现感到好奇,那是早期的 Docker 功能。如果您在 Docker 运行 命令中使用 --name 标签没有为您的 Docker 容器指定一个名称,Docker 将基于一个打开的容器创建一个名称科学家和黑客的来源列表。您可以从 here.
获取其源代码信号代码问题可能是由于 Docker 的内存限制较低。 github 问题也被打开了。从 here 引用它。尝试按照所附 github 问题的评论建议更改 Docker 的内存分配。