yeszao / dnmp

Docker LNMP (Nginx, PHP7/PHP5, MySQL, Redis)
https://www.awaimai.com/2120.html
MIT License
3.96k stars 1.41k forks source link

WordPress安装时,MySQL的IP获取 #585

Closed LEUNGHOTIN closed 9 months ago

LEUNGHOTIN commented 9 months ago

我遇到了和 #18 一样的问题,但我是使用docker pull wordpress安装的WordPress容器; issue里提到的方法,我去查看了MySQL容器中/etc/hosts文件的内容,其中一行为:

172.18.0.5  23afb729b994

包括我使用docker inspect mysql | grep IPAddress命令查询出来的结果也是显示:

"Gateway": "172.18.0.1","IPAddress": "172.18.0.5",

并且,我有把MySQL外部访问的权限开放出来

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

但是,当我把以上两个IP填写到WordPress数据库的配置项,仍然提示无法进行通信。

MySQL的配置(8.0.34):

mysql:
    image: mysql:${MYSQL_VERSION}
    container_name: mysql
    ports:
      - "${MYSQL_HOST_PORT}:3306"
    volumes:
      - ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro
      - ${DATA_DIR}/mysql:/var/lib/mysql/:rw
      - ${MYSQL_LOG_DIR}:/var/log/mysql/:rw

    restart: always
    networks:
      - default
    environment:
      MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"
      MYSQL_ROOT_HOST: "${MYSQL_ROOT_HOST}"
      TZ: "$TZ"

这种情况下,想请教下具体问题是出在哪,我应该如何填写MySQL的IP地址,不胜感激。

LEUNGHOTIN commented 9 months ago

已经解决。 因为我用的是mac,在Docker for Mac当中,有一个为docker.for.mac.localhost的特殊DNS名称,将其填入到数据库链接的那一栏即可。

相关文章