docker - Docker - 无论框架如何设置多个项目(在 php 上)
问题描述
好吧,这是一个一直存在的问题,但事实是,许多人使用不同的方法,因此我对如何配置事物感到有点迷茫。
有人说 .yml 应该与 dockerfile 一起在每个项目文件夹中,这也是有道理的,因为这样你就可以把所有东西都组织好,但是每次我必须加载我的项目时,我都必须在每个文件夹上进行 docker-compose?! ?
其他人说,您应该在项目文件夹的根目录中有一个 .yml 文件,其中包含每个项目的所有配置,然后是每个项目文件夹的 dockerfile,因此:
项目文件夹
码头工人-compose.yml
-> 项目一个文件夹(dockerfile)
-> 项目 B 文件夹(dockerfile)
最后,这取决于你想要哪种类型的配置,但我必须说,只做一次 docker-compose up 并让你的所有项目启动并运行是非常实用的,我只是不明白如何配置这个,我希望有人能带我走过光明之路!我需要使用 php、mysql 和 nginx 或 apache 的框架并不重要。下面是我发现并一直在尝试使用的代码,但我也发现了这个,但它给了我一个关于 belogs_to 不是数组的错误:
version: '3'
services:
project1:
build:
context: /project1 #automatically finds Dockerfile
container_name: project1
ports:
– 8081:80
volumes:
– .:/app/project
links:
– mysql
project2:
build:
context: /project2 #automatically finds Dockerfile
container_name: project2
ports:
– 8082:80
volumes:
– .:/app/project
links:
– mysql
...
mysql:
image: mysql:5.7
ports:
– 13306:3306
volumes:
- /data:var/lib/mysql
解决方案
推荐阅读
- python - 气流任务信息 - 任务退出并返回代码 -9
- php - 容器注册表 TYPO3 不可用
- php - 除了 shell_exec,还有其他方法可以创建干净的 PHP 进程吗?
- flutter - 在飞镖中创建数据类型
- reactjs - 无redux(React)组件应如何在父组件触发时公开数据?
- sql - 如何将 XML 列从另一个表复制到一个表?
- javascript - 从排序数组的输出中删除逗号之前的所有内容
- vue.js - 使用 Vue 在某些路由/页面上执行事件的正确方法
- c# - 从 DbContext 加载实体时,Entity Framework Core 抛出 System.Data.SqlTypes.SqlNullValueException
- javascript - 即使设置了keepAliveTimeout,响应连接标头也具有值'close'