我已经创建了一个小的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版本1.9.1,构建a34a1d5),它就失败了。
wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10
wordpress_1 |
wordpress_1 | MySQL Connection Error: (2002) Connection refused当我cat /etc/hosts of wordpress_1时,有MySQL的条目:
172.17.0.10 mysql 12a564fdbc56 mariadb并且我能够平平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容器?
发布于 2015-12-06 18:32:39
这种行为的原因可能与最近的内核和坞更新有关。我在其他对接组合设置中发现了其他几个连接问题。因此,我重新启动了服务器(不仅仅是码头服务),此后就没有出现过类似的问题。
发布于 2016-11-14 13:55:43
要解决这个问题,首先要做的是:
将以下代码添加到wordpress &数据库容器中(在docker文件中):
restart: unless-stopped这将确保在wordpress容器试图连接到数据库之前启动数据库并将其初始化。然后重新启动对接引擎
sudo restart docker或(用于ubuntu 15+)
sudo service docker restart 这里是我使用的完整配置,可以用MariaDB设置wordpress:
version: '2'
services:
wordpress:
image: wordpress:latest
links:
- database:mariadb
environment:
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_NAME=mydbname
- WORDPRESS_TABLE_PREFIX=ab_
- WORDPRESS_DB_PASSWORD=password
- WORDPRESS_DB_HOST=mariadb
- MYSQL_PORT_3306_TCP=3306
restart: unless-stopped
ports:
- "test.dev:80:80"
working_dir: /var/www/html
volumes:
- ./wordpress/:/var/www/html/
database:
image: mariadb:latest
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=mydbname
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=password
restart: unless-stopped
ports:
- "3306:3306"发布于 2018-08-01 04:45:45
我也遇到了同样的问题,但只要重新启动Wordpress容器,我就得救了:
$ docker restart wordpress我希望这对很多人都有帮助。
https://stackoverflow.com/questions/34068671
复制相似问题