Pas*_*cal 16 mysql phpmyadmin docker
我正在尝试将PHPMyAdmin-Container连接到MySQL-Container以查看数据库.
我已经启动了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 failed:Name无法解析
和
mysqli_real_connect():( HY000/2002):php_network_getaddresses:getaddrinfo失败:名称无法解析
顺便说一句,我还启动了一个wordpress容器,并将它链接到mysql,它的工作原理......
Eug*_*yer 33
不要一个接一个地启动它们,而是使用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"
Run Code Online (Sandbox Code Playgroud)
然后docker-compose在您的docker-compose up文件所在的同一文件夹中启动它.使用浏览器访问PHPmyadmin并使用'db'作为数据库的主机名,因为这是docker-compose.yml文件中服务的名称,因此可以使用docker内部DNS服务解析docker-container的实际ip.所有链接都会自动为您设置.
这简单得多 - docker运行过于复杂,对那些东西不实用 - 从来没有.
提示:如果您的计算机上未安装docker-compose,请使用此官方文档https://docs.docker.com/compose/install/(超出范围)进行安装
JL *_*L M 12
phpmyadmin/phpmyadmin(/www.config.inc.php)的配置文件默认说"db"时数据库服务器的主机名:
$ hosts = array('db');
因此,如果您的数据库名称容器不是"db",则应添加具有正确名称的环境变量PMA_HOST =(或PMA_HOSTS,如果是多数据库服务器)(在您的情况下为databaseContainer)
| 归档时间: |
|
| 查看次数: |
36914 次 |
| 最近记录: |