2

我家里有一个覆盆子,我尝试运行以下设置:

  • Nginx 代理管理器 (jc21/nginx-proxy-manager) 作为访问的反向代理
  • 搬运工(搬运工/搬运工-ce)
  • Wordpress(docker 官方图片)
  • Nextcloud(docker官方镜像)

对于搬运工来说它工作得非常好,但对于其他两个我得到一个错误的网关错误(https 和 http)。

我在网上找到了一些解决方案,但没有一个对我有用 + 所有这些都是“做这个,这个和这个”的解决方案。我想真正了解正在发生的事情以及如何解决这个问题。

我链接了我使用的 docker-compose 文件和 Nginx 代理管理器中的 conf 屏幕。

谢谢你的帮助 !

Nginx 代理管理器

    version: "3.8"
    networks:
        dockerpi:
        external: true
    services:
    npm-app:
        image: "jc21/nginx-proxy-manager:latest"
        ports:
        - "80:80"
        - "81:81"
        - "443:443"
        environment:
        DB_MYSQL_HOST: "npm-db"
        DB_MYSQL_PORT: 3306
        DB_MYSQL_USER: "npm"
        DB_MYSQL_PASSWORD: "npm"
        DB_MYSQL_NAME: "npm"
        volumes:
        - ./data:/data
        - ./letsencrypt:/etc/letsencrypt
        networks:
        - dockerpi
    npm-db:
        image: "jc21/mariadb-aria:latest"
        environment:
        MYSQL_ROOT_PASSWORD: "npm"
        MYSQL_DATABASE: "npm"
        MYSQL_USER: "npm"
        MYSQL_PASSWORD: "npm"
        volumes:
        - ./data/mysql:/var/lib/mysql
        networks:
        - dockerpi

搬运工

    version: "3.8"
        networks:
            dockerpi:
            external: true
        services:
        portainer:
            image: portainer/portainer
            privileged: true
            ports:
            - "8000:8000"
            - "9000:9000"
            volumes:
            - "./data:/data"
            - "/var/run/docker.sock:/var/run/docker.sock"
            restart: always
            networks:
            - dockerpi

下一云

    version: "3.8"
    networks:
        dockerpi:
        external: true
    services:
    nextcloud-db:
        image: mariadb
        restart: always
        command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
        volumes:
        - ./db:/var/lib/mysql
        environment:
        - MYSQL_ROOT_PASSWORD=nexcloud
        - MYSQL_PASSWORD=nexcloud
        - MYSQL_DATABASE=nextcloud
        - MYSQL_USER=nextcloud
        networks:
        - dockerpi
    nextcloud-app:
        image: nextcloud
        restart: always
        ports:
        - 8010:80
        - 9010:9000
        links:
        - nextcloud-db
        volumes:
        - ./nextcloud:/var/www/html
        environment:
        - MYSQL_PASSWORD=nextcloud
        - MYSQL_DATABASE=nextcloud
        - MYSQL_USER=nextcloud
        - MYSQL_HOST=nextcloud-db
        networks:
        - dockerpi

WordPress

    version: "3.8"
    networks:
        dockerpi:
        external: true
    services:
    wp-test:
        image: wordpress
        restart: always
        ports:
        - 8020:80
        environment:
        WORDPRESS_DB_HOST: wp-test-db
        WORDPRESS_DB_USER: exampleuser
        WORDPRESS_DB_PASSWORD: examplepass
        WORDPRESS_DB_NAME: exampledb
        volumes:
        - ./wordpress:/var/www/html
        networks:
        - dockerpi
    wp-test-db:
        image: mariadb
        restart: always
        environment:
        MYSQL_DATABASE: exampledb
        MYSQL_USER: exampleuser
        MYSQL_PASSWORD: examplepass
        MYSQL_RANDOM_ROOT_PASSWORD: "1"
        volumes:
        - ./db:/var/lib/mysql
        networks:
        - dockerpi

ps:我不发布屏幕,因为我现在似乎无法发布图像。

4

2 回答 2

1

我也面临同样的问题。原来你需要在 nginx 代理管理器的“端口”字段中输入容器端口。例如,对于 wordpress,您需要在“forward/ip”字段中输入“wordpress”并在端口中输入“80”以使其工作。

于 2021-08-22T16:03:07.480 回答
-1

如果这是关于 nginx 代理管理器的管理页面的错误网关错误,我这样做并为我修复了,我希望它也可以解决您的问题:

  1. 将您的 docker-compose.yml 文件更改为:
version: '2'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "npm"
      DB_MYSQL_PASSWORD: "npm"
      DB_MYSQL_NAME: "npm"
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql

我将其更改为版本 2 而不是 3!

  1. 运行这些命令:

sudo docker-compose down

接着

sudo docker-compose up -d

于 2021-08-09T07:19:59.750 回答