【问题标题】:How to have multiple projects running at the same time on docker如何在 docker 上同时运行多个项目
【发布时间】:2019-05-21 13:37:39
【问题描述】:

我是 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,但我想拥有多个项目,当我尝试将相同的 docker compose 文件用于其他项目时,它不起作用,因为它使用相同的端口。我尝试将 443 更改为 444 并将 mysql 端口更改为 3307 但它没有加载https://localhost:444

我该如何解决这个问题?

【问题讨论】:

    标签: php docker nginx docker-compose dockerfile


    【解决方案1】:

    我曾短暂地使用过 docker,但请记住在某些情况下您必须重建容器。换端口后试试docker-compose up --build

    【讨论】:

    • 谢谢,我认为这成功了。至少现在我遇到了一个不同的错误,我可以自己尝试解决。
    【解决方案2】:

    我更喜欢为每个项目使用本地域而不是端口。只需保持一个代理容器运行(例如 traefik),我们可以docker-compose up 任何项目使用默认端口 80 像这样的本地域:project1.localhost, project2.localhost...

    您可以在此处找到更多参考资料:

    【讨论】:

      猜你喜欢
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 2016-05-08
      • 2019-05-26
      • 1970-01-01
      • 2015-03-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多