我对docker和docker的创作很新。我已设法构建我的图像并将其推送到Docker Hub。我构建的应用程序很简单,包含2张图片php7-apache
和mysql
官方图像。全部在docker-compose.yml
中声明。
我通知我的团队使用docker pull ...
从我的Docker Hub存储库中提取我构建的图像,然后使用docker run -d ...
启动它。但是当我们在生产服务器中运行docker ps
时,只有一个进程正在运行但没有MySQL。
通常,当我使用docker-compose up
在本地运行时,我会在终端中获取:
Creating network "myntrelease_default" with the default driver
Creating myntrelease_mysql_1
Creating myntrelease_laravel_1
然后我可以使用docker-compose exec mysql bash
访问MySql并在那里调整一些表。到现在为止还挺好。
问题是如何在生产服务器中使用docker-compose.yml
,因为它在图像本身中不可用?
答案 0 :(得分:1)
简短回答:是的,您需要生产环境中的docker-compose.yml。
说明:每张图片都是独立的。由于你的图像独立于MySQL图像(至少这是我从你的问题中理解的),而docker-compose.yml定义了两者之间的关系(例如,如何在php7-apache图像中访问MySQL),那么你肯定在生产中需要docker-compose.yml。即使您只有一个图像,通常也可以使用docker-compose.yml,以便可以清楚地定义设置和配置,如卷安装,端口等。