我目前有一个设置,可以使用nginx在本地托管我的wordpress网站,并且我的数据库在docker容器中运行。我的目标是在这台机器上托管很多站点,为了理智起见,我不想启动50个Docker容器,而只依靠我本地的nginx。
下面是我的数据库的docker-compose。我在端口3306处公开了数据库,我告诉wordpress使用localhost:3306
,但是我总是收到错误:Error establishing a database connection
。
我还尝试共享/var/run/mysqld/mysqld.sock
的卷并使用localhost:<absolute path>/mysqld/mysqld.sock
,这导致了同样的问题。
我设置了phpmyadmin,以验证我可以连接到数据库,并且在那里一切正常。
我没主意了,已经被困了几个小时了。谁能指出我正确的方向?
version: '3.1'
services:
wordpress-db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress_user
MYSQL_PASSWORD: example
MYSQL_ROOT_PASSWORD: example
ports:
- 3306:3306
volumes:
- ./db:/var/lib/mysql
# - ./mysqld/mysqld.sock:/var/run/mysqld/mysqld.sock
networks:
- back
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
environment:
PMA_HOST: wordpress-db
ports:
- 2080:80
links:
- wordpress-db
volumes:
- /sessions
depends_on:
- wordpress-db
networks:
- back
networks:
back: