作者:or70woo | 来源:互联网 | 2023-02-01 18:20
我正在整理一个docker-compose.yml
文件来为我正在进行的项目运行多个服务.该项目有一个Magento和Wordpress网站,位于同一个域下,"同一域"方面需要一个非常简单的nginx容器来将请求路由到任一服务.
所以我将这个架构设计为4个容器(可视化):
一个"magento"容器,使用内部项目特定的图像.
一个"wordpress"容器,使用内部项目特定的图像.
运行"db"容器mysql:5.6
,其中安装了init db dumps /docker-entrypoint-initdb.d
.
运行nginx:alpine
自定义配置的"路由器"容器/etc/nginx/nginx.conf
.这用作反向代理,设置了两个位置指令.location /
到"magento"的location /blog
路线,以及到"wordpress"的路线.
我想保持简单并避免构建不必要的自定义图像,但在"路由器"的上下文中,我不确定我所做的是最好的方法,或者如果作为项目特定的图像更好.
我倾向于当前将自定义配置安装到nginx:alpine
容器中的方法,因为配置特定于正在运行的堆栈 - 作为单个独立容器没有意义.
所以这两种方法,没有自定义图像我们有以下内容 docker-compose.yml
router:
image: nginx:alpine
networks:
- projectnet
ports:
- "80:80"
volumes:
- "./router/nginx.conf:/etc/nginx/nginx.conf"
否则,我们有一个Dockerfile
包含以下内容,正如我在互联网和其他StackOverflow响应中看到的那样.
FROM nginx:alpine
ADD nginx.conf /etc/nginx/
有没有人支持/反对这两种方法?