我有几个compose文件(docker-compose.yml)描述了一个简单的Django应用程序(五个容器,三个镜像)。
我想在生产环境中运行这个堆栈 - 让整个堆栈在启动时开始,并且如果容器崩溃,则重新启动或重新创建容器。我不关心任何卷,容器不会保留任何重要状态,可以随意回收。
我没有找到有关在生产中使用特定docker-compose的太多信息。文档很有帮助,但没有提到任何关于启动的内容,而且我正在使用Amazon Linux,因此(目前)无法访问Docker Machine。我习惯使用supervisord来监视进程并确保它们在引导时启动,但我认为这不是使用Docker容器的方法,因为它们最终由Docker守护程序监督?
作为一个简单的开始,我考虑只需在所有服务上放置
我想在生产环境中运行这个堆栈 - 让整个堆栈在启动时开始,并且如果容器崩溃,则重新启动或重新创建容器。我不关心任何卷,容器不会保留任何重要状态,可以随意回收。
我没有找到有关在生产中使用特定docker-compose的太多信息。文档很有帮助,但没有提到任何关于启动的内容,而且我正在使用Amazon Linux,因此(目前)无法访问Docker Machine。我习惯使用supervisord来监视进程并确保它们在引导时启动,但我认为这不是使用Docker容器的方法,因为它们最终由Docker守护程序监督?
作为一个简单的开始,我考虑只需在所有服务上放置
restart: always
并制作一个init脚本,在引导时执行docker-compose up -d
。是否有一种推荐的方式以健壮的方式管理docker-compose堆栈?
编辑:我正在寻找一种“简单”的方式以稳健的方式运行我的容器堆栈的等价物docker-compose up
。 我事先知道堆栈中声明的所有容器都可以驻留在同一台机器上; 在这种情况下,我不需要协调来自同一堆栈的容器跨多个实例,但是了解这一点也很有帮助。
docker compose up
一直运行的单服务器工具,比如Docker Compose的monit之类? - Timo