大佬教程收集整理的这篇文章主要介绍了Docker 容器,相互连接数据库、Nginx 代理和 WordPress,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图弄清楚 docker 网络和那种东西是如何工作的。 所以这是我的设置,我有 2 个带有 wordpress 和 MysqL 的 docker 容器。并且这两个需要能够通过直接数据库连接相互交谈。我也有域指向它们。 所以我尝试使用 docker Nginx 代理设置它,但是当我尝试通过域访问该站点时,我得到了 502 bat 网关。
所以我的 docker ngxinx 代理撰写文件看起来像这样,但端口不同:
version: "3.1"
services:
Nginx-proxy:
image: jwilder/Nginx-proxy:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./certs:/etc/Nginx/certs
- /var/run/docker.sock:/tmp/docker.sock:ro
restart: unless-stopped
networks:
default:
external:
name: Nginx-proxy
我的两个 wordpress 容器都是这样的:
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
environment:
wordpress_DB_HOST: db
wordpress_DB_USER: exampleuser
wordpress_DB_password: examplepass
wordpress_db_name: exampledb
VIRTUAL_HOST: wp1.local
VIRTUAL_PORT: 3000
volumes:
- ./wp:/var/www/HTML
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
expose:
- 3000
db:
image: MysqL:5.7
restart: always
environment:
MysqL_DATABASE: exampledb
MysqL_USER: exampleuser
MysqL_password: examplepass
MysqL_RANDOM_ROOT_password: '1'
volumes:
- db:/var/lib/MysqL
ports:
- "8086:3306"
mailhog:
image: mailhog/mailhog
ports:
- "1025:1025" # smtp server
- "8025:8025" # web ui
networks:
default:
external:
name: Nginx-proxy
volumes:
db:
我已经将 127.0.0.1 wp1
添加到 /etc/hosts
但是当我启动代理和 WP 容器之一时,我的网关变得很糟糕。我不知道如何前进。也许这甚至不是正确的方法。因为我要解决的问题是 wp2 需要能够通过自定义 pdo 连接连接到 wp1 数据库。
我尽量解释清楚,但当谈到 docker 网络时,这对我来说是一个新领域。此外,我正在使用 wsl2 为 windows 运行 docker
你应该添加
networks:
- default
到 docker-compose 中的每个服务定义。
version: '3.1'
services:
wordpress:
image: wordpress
restart: always
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_password: examplepass
WORDPRESS_db_name: exampledb
VIRTUAL_HOST: wp1.local
VIRTUAL_PORT: 3000
volumes:
- ./wp:/var/www/html
- ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
expose:
- 3000
networks:
- default
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_password: examplepass
MYSQL_RANDOM_ROOT_password: '1'
volumes:
- db:/var/lib/mysql
ports:
- "8086:3306"
networks:
-default
mailhog:
image: mailhog/mailhog
ports:
- "1025:1025" # smtp server
- "8025:8025" # web ui
networks:
- default
networks:
default:
external:
name: nginx-proxy
volumes:
db:
以上是大佬教程为你收集整理的Docker 容器,相互连接数据库、Nginx 代理和 WordPress全部内容,希望文章能够帮你解决Docker 容器,相互连接数据库、Nginx 代理和 WordPress所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。