docker mysql wordpress 端口无法连接
Posted
技术标签:
【中文标题】docker mysql wordpress 端口无法连接【英文标题】:docker mysql wordpress port doesn't connect 【发布时间】:2019-09-18 16:33:56 【问题描述】:我下载了 mysql 和 wordpress 图像。 Mysql 端口是
3306 本地主机:32781 33060 本地主机:32780
Wordpress 配置是
WORDPRESS_DB_HOST 192.168.99.100:32774
MYSQL_ROOT_PASSWORD 和 WORDPRESS_DB_PASSWORD 是一样的
我尝试使用
连接到 wordpresshttp://192.168.99.100:32774/
我收到消息
无法访问此网站
mysql和wordpress的端口如何配置?
配置 MYSQL
wordpress
错误跟踪
【问题讨论】:
我认为您应该使用更多信息来改进您的问题,您是否有任何有关 wordpress 容器启动或连接到 mysql 容器的日志?您可以分享有关 docker run 或撰写文件的内容吗? justo 以确保您正确映射端口 【参考方案1】:根据您在 docker 配置页面上可以找到的内容,您应该采用此示例并根据需要对其进行修改。 以下 docker-compose 文件将在一分钟内启动 wordpress: https://docs.docker.com/compose/wordpress/
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
volumes:
db_data:
从该文件中,您有各种选项,例如,使用 docker compose 工具 (https://docs.docker.com/compose),或者如果您有一个 swarm 正在运行,您可以使用 docker stack 命令(https://vsupalov.com/difference-docker-compose-and-docker-stack/),或者您可以划分两个元素的配置和创建单独的 Dockerfile(Docker 文件的配置与您在 docker-compose 上看到的不同,因此请获取您自己的信息)并分开启动它们,您应该首先启动 mysql,因为 wordpress 依赖于首先运行的 bbdd。
【讨论】:
我使用风筝。附上mysql和wordpress的配置 不是试图阻止你使用 kitematic,而是遗留下来的,Docker 建议使用 docker desktop 代替 docs.docker.com/kitematic/userguide【参考方案2】:实现这一点的最简单方法是使用 docker-compose。这是一个例子:
version: '3.2'
services:
database:
image: mysql:5.7
volumes:
- my_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: wordpress
MYSQL_USER: wp_user
MYSQL_PASSWORD: password
wordpress:
depends_on:
- database
image: wordpress:php7.3-apache
ports:
- '8000:80'
restart: always
environment:
WORDPRESS_DB_HOST: database:3306
WORDPRESS_DB_USER: wp_user
WORDPRESS_DB_PASSWORD: password
working_dir: /var/www/html
volumes:
my_data:
一些注意事项:数据库不会在主机上挂载任何端口,因为它不需要。如果您不想使用 docker-compose,您可以为此运行 docker run 命令,但是您必须为容器创建自己的网络并将它们附加到它。
Wordpress 将在http://localhost:8000 上提供。
WORDPRESS_DB_HOST 是与数据库的连接,无论如何您都无法通过 http 访问它。
希望对你有所帮助。
【讨论】:
以上是关于docker mysql wordpress 端口无法连接的主要内容,如果未能解决你的问题,请参考以下文章
Docker wordpress 多站点 - 要公开哪些端口?
为啥 mysql CLI 可以连接,而 WordPress 却不能?
docker-compose mysql 容器拒绝访问 wordpress 容器
docker-compose wordpress mysql连接被拒绝