Docker Composer Ссылка MYSQL на IP - PullRequest
0 голосов
/ 25 апреля 2020

Мой контейнер 'app' может получить доступ к mysql, используя хост 'mysql: 3306'. Тем не менее, я использую программное обеспечение, которое (неправильно) предполагает, что mysql будет на 127.0.0.1:3306.

Есть ли обходной путь, чтобы 127.0.0.1 указывали на mysql внутри 'приложения', используя docker -compose?

services:
    app:
        build:
            context: .
        image: my-image
        ports:
            - 80:80
        links:
            - mysql
    mysql:
        image: mysql:5.7
        ports:
            - 13306:3306

1 Ответ

1 голос
/ 25 апреля 2020

Вы можете запускать свои контейнеры в сети хоста, и они будут доступны на 127.0.0.1. Просто добавьте network_mode: "host" к каждой из ваших служб и удалите свойство "links" в службе приложений следующим образом:

services:
app:
    build:
        context: .
    image: my-image
    ports:
        - 80:80
    network_mode: "host" 
mysql:
    image: mysql:5.7
    ports:
        - 13306:3306
    network_mode: "host" 

Здесь вы можете увидеть spe c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...