Поработав за день, наконец-то нашел решение.Это можно сделать с помощью - флага add-host в команде docker run
или extra_hosts в файле docker-compose.yml
с созданиемпсевдоним для локального (lo | 127.0.0.1
) сетевого интерфейса.
Итак, вот инструкция:
- Сначала создайте псевдоним для интерфейса
lo
.Как вы, возможно, знаете, команда ifconfig
не существует в Ubuntu 18.04, поэтому мы делаем это так:
sudo ip addr add 192.168.0.20/24 dev lo label lo:1
Затем наденьте это на себя
docker-compose.yml file:
extra_hosts:
- "otherhost:192.168.0.20"
Если вы не с помощью Docker Compose вы можете добавить хост в контейнер с помощью флага --add-host
.Что-то вроде docker run container-name --add-host="otherhost:192.168.0.20"
Наконец, когда вы закончите с вышеуказанными шагами, перезапустите ваши контейнеры с помощью
docker-compose down && docker-compose up -d
или
docker-compose restart
Теперь вы можете войти в свой контейнер (docker-compose exec container-name bash
) ипроверьте его.
ПРИМЕЧАНИЕ : Убедитесь, что ваш рабочий порт открыт с помощью команды telnet [interface-ip] [port]
.