【问题标题】:Restarting services that are routed by jwilder/nginx-proxy重启 jwilder/nginx-proxy 路由的服务
【发布时间】:2021-11-14 13:01:41
【问题描述】:

我有许多服务在 docker 容器中运行。我正在使用 jwilder/nginx-proxy 将子域路由到不同的 Web 应用程序。我有一个基本的 docker-compose.yml 文件,我在其中定义了我的主要服务,例如 postgres 和 jwilder/nginx-proxy:

version: "3.8"
services:  
  app:
    image: app:django-app
     .
     .
  db:
    image: postgres
     .
     .
  redis:
    image: redis:alpine
     .
     .
  nginx-proxy:
    image: jwilder/nginx-proxy
     .
     .
networks:
     .
     .

我的子服务稍后会动态启动:

$ docker run -e VIRTUAL_HOST=test1.localhost  ...

问题是,当我停止所有 docker 服务然后重新启动它们时,我必须一一重新启动所有这些 subservices ..(因为我的 docker-compose.yml 文件只有我的主要服务的配置)。我想动态更新我的 docker-compose.yml,以便下次我停止并重新启动所有 docker 容器时,我稍后启动的 subservices 也开始运行。

这是怎么做到的?

我是否必须动态更新 docker-compose.yml 文件以保留稍后启动的其他服务?也许它已经完成但在某个其他文件中?

谢谢你:)

【问题讨论】:

    标签: docker nginx docker-compose nginx-reverse-proxy jwilder-nginx-proxy


    【解决方案1】:

    我希望您也在 docker-compose.yml 文件中配置所有子服务。这是使用 docker-compose 的目的之一,将所有配置集中到一个地方。然后您可以在服务定义中使用它来控制服务和子服务的启动顺序

    depends_on:
      - subservice1
    

    您仍然可以使用docker stop.. 和docker start .. 来管理各个服务。

    【讨论】:

      猜你喜欢
      • 2019-12-29
      • 2020-05-03
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-19
      • 2020-12-31
      相关资源
      最近更新 更多