我是Docker的新手,由于它们都在同一端口上运行,因此无法处理多个项目。
我的docker-compose.yml:
我的../ backend-web / Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/conf.d/default.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时,所有这些都可以使用,我可以访问https://localhost,但是我想拥有多个项目,当我尝试对其他项目使用相同的docker compose文件时,它不起作用因为它使用相同的端口。我尝试将443更改为444,将mysql端口更改为3307,但随后它不加载https://localhost:444。
我该如何解决这个问题?
答案 0 :(得分:3)
我曾短暂地与docker合作,但请记住在某些情况下您必须重建容器。更改端口后尝试docker-compose up --build
吗?
答案 1 :(得分:0)
与端口相比,我更喜欢为每个项目使用本地域。只要保持代理容器运行(例如traefik),我们就可以docker-compose up
使用80端口默认值和
这样的本地域:project1.localhost
,project2.localhost
...
您可以在此处找到更多参考: