Docker не открываются порты на хосте для контейнера на Mac - PullRequest
0 голосов
/ 17 июня 2020

У меня есть файл docker -compose для запуска двух разных версий mysql:

version: "3.8"
services:

  mysql_5.6:
    image: mysql:5.6
    restart: always
    ports:
      - "3307:3306"

  mysql_latest:
    image: mysql:latest
    restart: always
    ports:
      - "3308:3306"

Я начинаю их с docker-compose -f docker/docker-compose.yml up -d. Запущено docker ps Я получаю:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                          PORTS               NAMES
9649cd3df592        mysql:latest        "docker-entrypoint.s…"   About a minute ago   Restarting (1) 28 seconds ago                       docker_mysql_latest_1
339b5a7f2262        mysql:5.6           "docker-entrypoint.s…"   About a minute ago   Restarting (1) 28 seconds ago                       docker_mysql_5.6_1

Как видите, раздел «Порты» пуст. Подключение с помощью te lnet или MySqlWorkbench дает мне ожидаемое соединение, в котором отказано. Я использую macOS Catalina и использую Docker Desktop 2.3.0.3 (45519). Я добавил Docke, чтобы разрешить открывать соединения в настройках брандмауэра.

Как мне сделать Docker открыть порты на моей ма c?

1 Ответ

0 голосов
/ 18 июня 2020

Похоже, проблема в том, что я не указал пароль root. Теперь это работает:

version: "3.7"
services:

  mysql_5.6:
    image: mysql:5.6.44
    restart: always
    ports:
      - "3307:3306"
    environment:
      MYSQL_ROOT_PASSWORD: ""
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"

  mysql_latest:
    image: mysql:latest
    restart: always
    ports:
      - "3308:3306"
    environment:
      MYSQL_ROOT_PASSWORD: ""
      MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
...