我正在尝试设置一个基本的 LAMP 堆栈,但在容器运行时docker-compose无法使用它连接到mariadb数据库。phpmyadmin
为了尝试解决该问题,我将docker-compose.yaml文件剥离为:
version: '3.2'
services:
db:
image: mariadb
container_name: appsDB
restart: always
ports:
- '6603:3306'
environment:
MYSQL_ROOT_PASSWORD: secret
app:
depends_on:
- db
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
restart: always
ports:
- '8080:80'
environment:
PMA_HOST: db
当我运行容器时,我可以导航到该phpmyadmin页面,但是当我输入root/secret用户名/密码时,我收到错误:
Cannot log in to the MySQL server
mysqli::real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Name or service not known
为了确保这不是我的计算机的问题,我还运行了docker-compose up数据库映像,并将其更改为mysql并保持所有其他细节相同。root/secret然后就没有问题了:phpmyadmin 工作正常,我可以使用上一个图像中使用的相同凭据正常登录。
谁能告诉我为什么mariadb会这样,有什么方法可以通过 docker 容器中的 phpmyadmin 访问它吗?
子衿沉夜