使用Nginx访问容器

时间:2019-03-08 15:43:07

标签: docker nginx centos7

我有一台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

是否可以通过服务器的IP通过Nginx代理访问Docker?

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

1 个答案:

答案 0 :(得分:0)

是的,可以。

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;
    }
}