php – Dockerfile vs docker-compose.yml
Dockerfile和docker-compose.yml文件之间的关系是什么? 看起来我可以使用FROM,RUN(apt-get等和CMD命令)使用Dockerfile构建任何Linux设置.但似乎,这是不可重用的(我可以重用整个映像,但服务是硬编码的,不能通过其他的项目). 我可以在新项目中使用这两个文件吗? 假设我想要定期LAMP堆栈: > Linux OS(debian:wheezy) 像普通机器一样在一起运行. 在我的主机系统的目录中: >应用源文件的卷 我更喜欢使用官方的,基本的回购和图像,而不是预配置的多功能一体机. 在这种情况下配置文件应该如何? 我在Ubuntu上使用docker-compose v.1.8.1和docker v.1.12.3. 最佳答案
Docker创建了隔离的机器(容器).每个容器只包含一个进程(Apache或Mysql或其他); Dockerfile定义了如何构建图像.
Docker compose允许运行,链接和配置一堆容器. 在你的情况下,apache需要知道一个mysql“where”.在运行apache容器之前需要唤醒mysql. Dockerfile定义了如何创建应用程序映像.应用程序映像包含应用程序和Web浏览器.
然后你需要构建图像docker build my_app:latest. 此时您已经创建了图像,并且需要运行app并将其链接到db 你有2种方法可以做到这一点: 1)原生码头工人方法.你运行数据库容器 docker run –name some-mysql -e MYSQL_ROOT_PASSWORD = my-secret-pw -d mysql:latest 并且在您需要运行app容器之后(之前创建了图像) docker run –name my_app –link some-mysql:mysql -P -d my_app 在这一点上,我们已经工作申请.这个简单的事情让我们做出2长命令.如果需要将应用程序复制到另一台计算机,则需要完全重复此命令. 2)docker-compose方式允许创建用于运行容器的配置.它描述了如何精确运行容器. 简单的docker-compose.yml配置说明了这种方法
此配置允许您一起运行2个容器,链接和配置它们. 这是一个非常简单的例子.使用docker的优点并不明显,但如果你有5个容器,那么在没有编写的情况下将它们放在一起就太难了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |