phpmyadmin docker容器不能访问mariadb数据库?

bcs8qyzn  于 2022-11-08  发布在  PHP
关注(0)|答案(1)|浏览(170)

我正在尝试使用以下设置进行快速连接设置

复制并粘贴以重新创建问题

docker rm -f mariadb && docker run --detach --name mariadb --env MARIADB_USER=user --env MARIADB_PASSWORD=secret --env MARIADB_ROOT_PASSWORD=secret -p 3306:3306 mariadb:latest

docker rm -f phpmyadd && docker run --name phpmyadd -d -e PMA_HOST=host -e PMA_PORT=3306 -p 8080:80 phpmyadmin

docker exec -it mariadb  bash

我可以登录mariadb container并使用以下命令访问mariadb

mysql -uroot -psecret

我还可以访问http://localhost:8080上的phpmyadmin容器
然而,当我尝试通过phpmyadmin登录到mariadb时,我得到如下:

它显示端口已暴露,但我无法使用telnet访问它..

你知道这里少了什么吗

zaqlnxep

zaqlnxep1#

为了让两个容器能够互相对话,你必须设置一个docker-compose来代替。

version: '3.8'

volumes:
  mariadb:
    driver: local

services:
  mariadb:
    image: mariadb:10.6
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: YOUR_ROOT_PASSWORD_HERE
      MYSQL_USER:  YOUR_MYSQL_USER_HERE 
      MYSQL_PASSWORD: YOUR_USER_PW_HERE
    ports:
      - "40000:3306"
    volumes:
      - mariadb:/var/lib/mysql

  phpmyadmin:
    image: phpmyadmin
    restart: always
    ports:
      - "40001:80"
    environment:
      - PMA_HOST=mariadb
      - PMA_PORT=3306

你可以用docker-compose up来启动所有的程序

相关问题