Docker сетевое взаимодействие между контейнерами
Долгое время пользуюсь https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion для всех своих сервисов И радости моей не было предела, и в кишки я не влезал, в общих чертах восхитился системой и пользовался. Пока не захотелось мне поднять у себя jupyter notebook который при прочих равных на отрез отказывался открываться из за nginx-proxy-companion с ошибкой 503. Стал копать, понял, что нет у меня достаточного понимания сетевого взаимодействия. Из nginx контейнера не могу курлом вытащить из контейнера юпитера.
Следуя инженерному подходу решил избавится от всего лишнего, вооружился netcat. И воспроизвёл поведение которое не укладывается у меня в голове как валидное. Что я делаю не так?
Шаг 1 Создал сетку внутри докера :
docker network create myownnetwork
Шаг 2 Запустил контейнер который слушает порт:
$ docker rm container1 ; docker run --name container1 --network myownnetwork ubuntu /bin/bash -c 'apt update && apt install -y netcat net-tools && ifconfig && nc -l -vvv 8080;'
...
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.0.2 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:ac:12:00:02 txqueuelen 0 (Ethernet)
RX packets 4149 bytes 17361595 (17.3 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3951 bytes 336864 (336.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 6 bytes 674 (674.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 674 (674.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
8080: inverse host lookup failed: Unknown host
listening on [any] 46581 ...
Шаг 3 Запустил контейнер который подключается к порту:
docker rm container2 ; docker run --name container2 --network myownnetwork ubuntu /bin/bash -c 'apt update && apt install -y netcat net-tools && ifconfig && nc 172.18.0.2 8080'
...
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.18.0.3 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:ac:12:00:03 txqueuelen 0 (Ethernet)
RX packets 3042 bytes 17288445 (17.2 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2742 bytes 203702 (203.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1000 (Local Loopback)
RX packets 6 bytes 674 (674.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 6 bytes 674 (674.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
(UNKNOWN) [172.18.0.2] 8080 (?) : Connection refused
Почему эти 2 контейнера не могут друг с другом общаться? Вроде в одной сети, файрволов внитри докеровской убунты нет.