Я бегу Docker контейнер с помощью следующей команды:мост докер контейнерный порт для размещения порта
docker run -d --name frontend_service -net host --publish=3001:3000 frontend_service
Как я понимаю, он отображает локальный порт 3001 на контейнерный порт 3000. я уже SSH в контейнер и проверенный локон localhost: 3000. Работает. Но снаружи, на хосте, я не могу ломать localhost: 3001.
Я проверил nmap. Порт открыт:
nmap -v -sT localhost
Starting Nmap 6.47 (http://nmap.org) at 2016-10-19 01:24 UTC
Initiating Connect Scan at 01:24
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 25/tcp on 127.0.0.1
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 5051/tcp on 127.0.0.1
Discovered open port 3001/tcp on 127.0.0.1
Completed Connect Scan at 01:24, 0.06s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0011s latency).
Other addresses for localhost (not scanned): 127.0.0.1
Not shown: 996 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
3001/tcp open nessus
5051/tcp open ida-agent
Как подключить порт контейнера к порту моего хоста?
Внутри контейнера, на каком адресе, если ваш сервис прослушивает? Возможно, он связан только с адресом localhost (например, 127.0.0.1)? Это предотвратит любые внешние подключения, независимо от того, что вы делаете с докером. – larsks
Спасибо, @larks. Это была одна из проблем. –