как сервер приложений знает, как подключиться к хосту mysql без сети - PullRequest
0 голосов
/ 07 мая 2019

Я использую joget с докером:

# create a volume container for shared data
docker volume create jogetdata

# run a MySQL database container
docker run -d --name jogetdb -p 3306:3306 -e MYSQL_ROOT_PASSWORD=jwdb -e MYSQL_USER=joget -e MYSQL_PASSWORD=joget -e MYSQL_DATABASE=jwdb mysql:5.7

# run a Joget Workflow container
docker run -d --link jogetdb:jwdb --name joget -p 8080:8080 -e MYSQL_HOST=jwdb -e MYSQL_DATABASE=jwdb -e MYSQL_PORT=3306 -e MYSQL_USER=joget -e MYSQL_PASSWORD=joget --mount source=jogetdata,target=/opt/joget/wflow jogetworkflow/joget-enterprise

Мне просто любопытно, почему joget может подключиться к серверу mysql с помощью MYSQL_HOST=jwdb?Я здесь не пользовался сетью?

1 Ответ

0 голосов
/ 07 мая 2019

Для связанных контейнеров Docker добавляет для вас запись в файле /etc/hosts, таким образом, вы используете имя в качестве имени хоста и вам не нужно беспокоиться о разрешении имени.

Если вы отметите /etc/hosts в контейнере, вы увидите, что он соответствует IP-адресам в вашей докерной сети.

...