Да, вы правильно понимаете, но прежде чем углубляться в детали, я упомяну важное утверждение о сети хоста.
Сетевой драйвер хоста работает только на хостах Linux и не
поддерживается в Docker для Mac, Docker для Windows или Docker EE для
Windows Server.
https://docs.docker.com/network/network-tutorial-host/
Теперь в Linux все работает так, как вы ожидаете.
Запустите nginx для тестирования
docker run --rm -it --network host --name my_nginx nginx:alpine
Перейти в свой контейнер ...
docker exec -it my_nginx ash
Если вы cat /etc/hosts
Все файлы хоста внутри контейнера будут такими же, как файл хоста хост-машины.
Теперь запустите другой тестовый образ, просто общедоступный образ из реестра Docker.
docker run --name="hello-world" -d -p 8080:8080 kornkitti/express-hello-world
Если вы делаете это внутри контейнера nginx
apk add curl
curl localhost:8080
Ответ Hello World из контейнера nodejs.
Для MySQL это тоже работает ...
mysql -h localhost -u root -ptest
В случае окна или Mac вы можете добавить следующее.
docker run --rm -it --add-host=db.local.com:(host__ip_address) --name my_nginx nginx:alpine
и подключиться к mysql из контейнеров, таких как
mysql -h db.local.com -u root -ptest