Я могу получить доступ к порту контейнера докера на локальном компьютере с помощью localhost с сопоставлением портов, но он не доступен в других контейнерах аналогичным образом.
Мой файл docker-compose создает контейнеры Ubuntu и Nginx с отображением портов 80:80.Когда я пытаюсь получить доступ к URL Nginx из Ubuntu, порт отклоняет соединение.Я могу получить доступ к порту с именем контейнера, но не с localhost.
.
├── Dockerfile
└── docker-compose.yml
docker-compose.yml содержимое файла
version: '2'
services:
web:
image: nginx
ports:
- "80:80"
links:
- userver
depends_on:
- userver
userver:
build:
context: .
dockerfile: Dockerfile
содержимое Dockerfile
FROM ubuntu
RUN apt-get update && apt-get install -y net-tools curl
CMD tail -f /dev/null
docker-practice $ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c3f06dc519d8 nginx "nginx -g 'daemon of…" 4 hours ago Up 10 minutes 0.0.0.0:80->80/tcp docker-practice_web_1
40324fa76612 docker-practice_userver "/bin/sh -c 'tail -f…" 4 hours ago Up 10 minutes 80/tcp docker-practice_userver_1
Доступ к URL-адресу Nginx с локального хоста с помощью localhost
docker-practice $ curl http://localhost -I
HTTP/1.1 200 OK
Server: nginx/1.15.10
Date: Tue, 09 Apr 2019 03:35:46 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 26 Mar 2019 14:04:38 GMT
Connection: keep-alive
ETag: "5c9a3176-264"
Accept-Ranges: bytes
Доступ к URL-адресу Nginx из контейнера Ubuntu с помощью локального хоста
root@40324fa76612:/# curl http://localhost -I
curl: (7) Failed to connect to localhost port 80: Connection refused
Доступ к URL-адресу Nginx из контейнера Ubuntu с именем контейнера
root@40324fa76612:/# curl http://docker-practice_web_1 -I
HTTP/1.1 200 OK
Server: nginx/1.15.10
Date: Tue, 09 Apr 2019 03:42:13 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 26 Mar 2019 14:04:38 GMT
Connection: keep-alive
ETag: "5c9a3176-264"
Accept-Ranges: bytes
Я ожидаю доступ к порту в Docker-контейнере Ubuntu с помощью localhost, но порт отклоняет соединения.