代码之家  ›  专栏  ›  技术社区  ›  Mercer

使用nginx访问容器

  •  0
  • Mercer  · 技术社区  · 5 年前

    我有一台CentOS 7服务器。在这台服务器上我有nginx。

    在这台服务器上,我有一个包含我的应用程序的Docker。

    App.yml:

    version: '2'
    services:
        myBrand-app:
            image: myBrand
            environment:
                - _JAVA_OPTIONS=-Xmx512m -Xms256m
                - SPRING_PROFILES_ACTIVE=prod,swagger
                - SPRING_DATASOURCE_URL=jdbc:postgresql://myBrand-postgresql:5432/myBrand
                - SLEEP=10 # gives time for the database to boot before the application
            ports:
                - 8080:8080
        myBrand-postgresql:
            extends:
                file: postgresql.yml
                service: myBrand-postgresql
    

    可以通过nginx代理通过我服务器的ip访问docker吗?

    我想使用nginx作为容器的反向代理

    0 回复  |  直到 5 年前
        1
  •  0
  •   VelikiiNehochuha    5 年前

    是的,你可以。

    示例docker-compose.yml

    version: '3'
    
    services:
      web:
        container_name: 'web'
        restart: always
        build: ./web
        ports:
          - "8080:8080"
        command: run_your_backend --port=8080
    
      nginx:
        container_name: 'nginx'
        image: "nginx"
        restart: always
        ports:
          - "80:80"
        links:
          - web:web
        volumes:
        - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    

    nginx配置为代理的示例

    upstream backend {
        server web:8080;
    }
    
    
    server {
        listen 80;
    
        location / {
            proxy_pass http://backend;
        }
    }