使用本地客户端连接到网络化mysql docker容器

使用本地客户端连接到网络化mysql docker容器,docker,docker-compose,Docker,Docker Compose,我刚刚学习了使用Docker的教程。我从安装不同的容器开始,当我使用mysql时,我通过运行 docker container run -d -p 3306:3306 --name mysql --env MYSQL_ROOT_PASSWORD=123456 mysql 创建容器后,我可以使用127.0.0.1、root和123456作为密码,通过Heidi连接MySQL。 我最终继续学习另一个关于使用docker安装WordPress的教程 用于设置容器的yaml如下所示。一切正常,但当使

我刚刚学习了使用Docker的教程。我从安装不同的容器开始,当我使用mysql时,我通过运行

docker container run -d -p 3306:3306 --name mysql --env MYSQL_ROOT_PASSWORD=123456 mysql
创建容器后,我可以使用127.0.0.1、root和123456作为密码,通过Heidi连接MySQL。 我最终继续学习另一个关于使用docker安装WordPress的教程

用于设置容器的yaml如下所示。一切正常,但当使用Heidi连接到数据库时,我不知道该做什么——使用什么连接数据,或者在yaml中更改什么,以便能够从本地机器连接

version: '3'

services:
  # Database
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wpsite
  # phpmyadmin
  phpmyadmin:
    depends_on:
      - db
    image: phpmyadmin/phpmyadmin
    restart: always
    ports:
      - '8080:80'
    environment:
      PMA_HOST: db
      MYSQL_ROOT_PASSWORD: password 
    networks:
      - wpsite
  # Wordpress
  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    ports:
      - '8000:80'
    restart: always
    volumes: ['./:/var/www/html']
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    networks:
      - wpsite
networks:
  wpsite:
volumes:
  db_data:

您应该向本地计算机公开3306端口。然后,您可以使用
host=127.0.0.1
连接到MySQL

按如下方式更新yaml文件:

version: '3'

services:
  # Database
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    networks:
      - wpsite
  ...

您可以尝试在docker中创建一个网络,然后使用--Network在同一个网络中运行Mysql和Heidiflag@TusharJajodiaDocker撰写。