我正在使用一个docker compose设置数据库容器,一个应用程序容器和一个容器,它用数据库预先加载必要的数据。
我希望与docker-compose up
一起启动所有容器,同时预装容器在完成后与exit 0
一起使用时终止。
但是终止这个容器会使用以下消息进行完整的设置:
composesetup_load_1 exited with code 0
Gracefully stopping... (press Ctrl+C again to force)
Stopping composesetup_app_1...
Stopping composesetup_db_1...
在一个docker-compose设置中,有没有办法让多个容器具有不同的生命周期?如果是,怎么样?
答案 0 :(得分:7)
我现在的解决方法是通过在入口点脚本的末尾添加tail -f /dev/null
来保持预加载容器的运行。这样可以保持流程正常运行,而不会发生任何实际情况。
答案 1 :(得分:-1)
在docker-compose up -d
使用-d
option将以分离模式运行该过程。这样可以避免使用Ctrl + C终止服务,从而停止容器。
注意:我告诉你,你在共享的消息“Gracefully stopping... (press Ctrl+C again to force)
”中使用Ctrl + C杀死了这个过程。