Docker使用中的问题与生产环境部署指南
在使用Docker进行应用开发和部署的过程中,我们会遇到一些问题,同时也能收获诸多好处。下面将详细介绍这些内容。
Compose间歇性中止问题
当以默认的附加模式(即不使用 -d 选项)启动带有Compose的应用程序时,Compose会连接到每个容器的标准输出并跟踪输出。当按下 Ctrl - C 时,Compose应该通过向主进程发送 SIGTERM 信号来指示容器终止。正常情况下,进程应优雅退出,然后容器终止,此时按下 Ctrl - C 的Compose输出如下:
Killing myapp_web_1 ... done
Gracefully stopping... (press Ctrl+C again to force)
然而,大约10 - 50%的情况下,容器不会优雅关闭,而是出现以下错误:
^CERROR: Aborting.
这会导致终止失败,容器仍在运行。该问题似乎是由PyInstaller(Compose依赖的一个用于从Python脚本创建可执行文件的开源工具)的问题引起的。
虽然这只是一个令人烦恼的问题,而非致命问题,我们可以通过手动执行 docker - compose stop (或 kill )命令来关闭容器,但它还是会削弱我们对Compose的信心。经过研究和尝试各种建议的修复方法,尚未找到
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



