我创建了一个小的docker-compose.yml
,过去常常用于部署小型WordPress实例。它看起来像这样:
wordpress:
image: wordpress:latest
links:
- mysql
ports:
- "1234:80"
environment:
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_PASSWORD: "password"
WORDPRESS_DB_HOST: mariadb
MYSQL_PORT_3306_TCP: 3306
volumes:
- /srv/wordpress/:/var/www/html/
mysql:
image: mariadb:latest
mem_limit: 256m
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: "password"
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: "password"
volumes:
- /srv/mariadb:/var/lib/mysql
但是当我现在启动它(也许自从Docker更新到Docker version 1.9.1,build a34a1d5
)时,它失败了。
wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10
wordpress_1 |
wordpress_1 | MySQL Connection Error: (2002) Connection refused
当我查看 wordpress_1
的 /etc/hosts
文件时,里面有关于 MySQL 的记录:
172.17.0.10 mysql 12a564fdbc56 mariadb
我可以 ping 通 MariaDB 服务器。
当我运行 docker-compose up
命令时,WordPress 被安装,并在多次重启后,MariaDB 容器会打印出:
Version: '10.0.22-MariaDB-1~jessie' socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
应该显示正在运行,是吗?
我如何让WordPress能够连接到MariaDB容器?