无法连接到本地主机中的MySQL docker容器

时间:2020-04-25 11:14:55

标签: mysql docker

我在Ubuntu系统上安装了Docker并制作了一个MySQL容器:

version: '3.8'

services:
  MySQL:
    container_name: MySQL
    image: mysql:8.0.19
    volumes:
      - mysql-volume:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: pskPSK258##
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: pskPSK258##
    command: --default-authentication-plugin=mysql_native_password

volumes:
  mysql-volume:
    name: mysql-volume
    driver: local

容器运行时,无法使用本地主机或127.0.0.1连接到它。但是,当我使用“ Docker inspect MySQL”获得MySQL容器的IP地址时,我可以连接到MySQL。 如何使用地址127.0.0.1连接到数据库?

1 个答案:

答案 0 :(得分:1)

为了能够从主机访问,您需要将容器的端口绑定到主机的端口:

services:
  MySQL:
    image: mysql/mysql-server:8.0.19
    ports:
      - "3306:3306"  # or "127.0.0.1:3306:3306" to only bind to localhost

ports部分采用HOST_PORT:CONTAINER_PORTHOST_IP:HOST_PORT:CONTAINER_PORT格式。