问题描述
- Nginx 代理管理器 (jc21/Nginx-proxy-manager) 作为访问权限的反向代理
- Portainer (portainer/portainer-ce)
- wordpress(docker 官方图片)
- Nextcloud(docker 官方图片)
对于 portainer 来说它运行得非常好,但对于另外两个,我收到了错误的网关错误(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
Nextcloud
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
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:我不发布屏幕,因为我现在似乎无法发布图片。
解决方法
如果这是关于 nginx 代理管理器的管理页面的错误网关错误,我这样做并为我修复了,我希望它也能解决您的问题:
- 将您的 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!
- 运行以下命令:
sudo docker-compose down
然后
sudo docker-compose up -d