首页 > 解决方案 > 我需要帮助 docker 中的多个站点设置

问题描述

我想在 docker 中运行几个站点。我遇到了一个问题。

我有方案
site1
--api
--web

站点
2 --api
--web

站点
3 --api
--web

我有一个 docker-compose 文件

services:
 web_app1:
    container_name:site1
    image: nginx:latest
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./:/var/www/site1
      - ./hosts:/etc/nginx/conf.d
      - ./logs:/var/log/nginx
  web_app2:
    container_name:site2
    image: nginx:latest
    ports:
      - "81:80"
      - "444:443"
    volumes:
      - ./:/var/www/site2
      - ./hosts:/etc/nginx/conf.d
      - ./logs:/var/log/nginx
  web_app3:
    container_name:site3
    image: nginx:latest
    ports:
      - "82:80"
      - "445:443"
    volumes:
      - ./:/var/www/site3
      - ./hosts:/etc/nginx/conf.d
      - ./logs:/var/log/nginx

  php:
    container_name: php
    build: ./images/php
    volumes:
      - ./:/var/www/test

但它不起作用

标签: dockerdocker-composedockerfile

解决方案


Nginx docker 镜像的默认端口是 80 而不是 443。尝试从 docker-compose.yml 文件中删除 443 映射

或者

如果要在 443 上运行容器,请将 Nginx.conf 中的配置从 80 更改为 443,并从 docker-compose 文件中删除 80 端口映射


推荐阅读