社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Abdelkarim EL AMEL  »  全部回复
回复总数  1
7 年前
回复了 Abdelkarim EL AMEL 创建的主题 » Docker无法连接到MySQL运行Docker compose up

为了 phpmyadmin 服务,我想你应该设置 PMA_HOST 和 PMA_PORT 环境变量如下:

phpmyadmin:
    image: phpmyadmin/phpmyadmin
    container_name: sf4_phpmyadmin
    environment:
      PMA_HOST: mysql
      PMA_PORT: 3306
    ports:
        - 8080:80
    links:
        - mysql

您的mysql容器应该具有 command 指令在开始时设置身份验证插件(mysql 8的连接器有问题),更多详细信息 here

mysql:
    image: mysql
    container_name: sf4_mysql
    command: "--default-authentication-plugin=mysql_native_password"
    volumes:
        - .docker/data/db:/var/lib/mysql
    environment:
        MYSQL_ROOT_PASSWORD: root
        MYSQL_DATABASE: sf4
        MYSQL_USER: sf4
        MYSQL_PASSWORD: sf4

.env 文件,格式如下:

mysql_用户 : mysql_user_密码 mysql_主机 : mysql_端口 数据库名称

mysql_用户

mysql_user_密码 :用户密码(例如:root)

mysql_主机 :is应包含mysql容器服务名称 docker-compose.yml 文件(本例中为mysql)

:mysql容器内部端口(在本例中为3306)

数据库名称 :要连接到的数据库。

DATABASE_URL=mysql://root:root@mysql:3306/sf4

在这些更改之后停止容器并重新启动它们。