小编典典

[Docker]:将PHPMyAdmin连接到MySQL不起作用

docker

我正在尝试将PHPMyAdmin容器连接到MySQL容器以查看数据库。

我已经通过启动了MySQL容器 $ docker run --name databaseContainer -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

和PHPMyAdmin-Container通过 $ docker run --name myadmin -d --link databaseContainer:mysql -p 8080:8080 phpmyadmin/phpmyadmin

尝试登录PHPMyAdmin时,我得到:mysqli_real_connect():php_network_getaddresses:getaddrinfo失败:名称无法解析

mysqli_real_connect():( HY000 /
2002):php_network_getaddresses:getaddrinfo失败:名称无法解析

顺便说一句,我还启动了一个wordpress容器并将其链接到mysql,在这里它可以工作…


阅读 691

收藏
2020-06-17

共1个答案

小编典典

而不是一个一个地启动它们,请使用docker-compose

创建一个docker-compose.yml文件

version: '2'
services:
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: my-secret-pw
    ports:
      # just if you also want to access it directly from you host
      # node neede for phpmyadmin
      - "3306:3306"
  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    depends_on:
      - db
    ports:
      - "8080:8080"

然后使用docker-compose up文件所在的docker-compose.yml文件夹启动它。使用浏览器访问PHPmyadmin并使用“
db”作为数据库的主机名,因为那是docker-compose.yml文件中服务的名称,因此可以使用dockers内部DNS服务解析为docker-
container的实际IP。所有链接都会自动为您设置。

这要简单得多-docker run使事情变得过于复杂,而对于这些事情却不切实际-永远不会。

提示:如果您的计算机上未安装docker-
compose,请使用此官方文档https://docs.docker.com/compose/install/安装(超出范围)

2020-06-17