Alpine 3.6 Docker容器错误停止(退出代码137)

容器在Ubuntu 16.04上运行

下面我怎么做(随机名称sad_wiles创build):

 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 stop和初始优美停止失败并且docker必须执行sigkill时,您会看到此退出代码。 如上所述,这是一个linux标准:128 + 9 = 137(来自SIGKILL的9个)。

您可以在Mac OS上的Docker App> Preferences> Advanced中增加内存限制。 改变这个mem_limit=384mmem_limit=384m作品。 这里是额外的resunce将帮助你, 退出状态

如果您对sad_wiles名称作为您的容器名称的出现感到好奇,那从早期就是Docker的特性。 如果您没有使用–name标签为您的Docker容器指定一个名称,那么Doc​​ker会根据科学家和黑客的开源列表创build一个名称。 你可以从这里得到它的源代码。

信号代码问题可能是由于Docker的内存限制较低。 一个github问题也被打开了。 从这里引用。 尝试更改Docker的内存分配,因为build议附加的github问题的注释。