如何在docker上同时运行多个项目

问题描述 投票:0回答:3

我是 Docker 新手,在处理多个项目时遇到困难,因为它们都在同一端口上运行。

我的 docker-compose.yml:

我的../backend-web/Dockerfile:

FROM nginx

COPY nginx.conf /etc/nginx/conf.d/default.conf

我的nginx.conf:

还有我的 .env 文件,从其中加载端口:

DB_HOST=database-service
DB_ROOT_PASSWORD=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

BACKEND_PORT=443
DB_PORT=3306
REDIS_PORT=6379
PHP_FPM_INSTALL_XDEBUG=true

现在,当我执行 docker-compose up 时,这一切都可以工作,我可以访问 https://localhost,但我想要有超过 1 个项目,当我尝试对其他项目使用相同的 docker compose 文件时,它不起作用因为它使用相同的端口。我尝试将 443 更改为 444,将 mysql 端口更改为 3307,但它无法加载 https://localhost:444

如何解决这个问题?

php docker nginx docker-compose dockerfile
3个回答
3
投票

我曾短暂使用过 docker,但请记住在某些情况下您必须重建容器。更改端口后尝试

docker-compose up --build


0
投票

我更喜欢为每个项目使用本地域而不是端口。只要保持代理容器运行(例如traefik),我们就可以

docker-compose up
任何使用默认端口80的项目 像这样的本地域:
project1.localhost
project2.localhost
...

您可以在这里找到更多参考:


0
投票

dghdfhgg sds fdgsndbgsdkfs dfv mnsb sdmn vknasbf smn fksabdfm nmdbfkwe

© www.soinside.com 2019 - 2024. All rights reserved.