невозможно получить доступ к localhost из контейнера Docker

невозможно получить доступ к localhost из контейнера Docker

Я следовал этому руководству шаг за шагом:https://www.youtube.com/watch?v=NZGu-9KQVsE

  • Я создал Dockerfile:

ОТ ubuntu:jammy

RUN : \
    && apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y \
        curl \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*
  • Я создал образ Docker:
docker build -t mycurl .
  • Я запустил изображение с помощью
docker run --add-host host.docker.internal:host-gateway --rm -ti mycurl bash
  • Я запустил локальный сервер, используя
python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
  • Но когда я пытаюсь получить к нему доступ из своего контейнера, я получаю этот тайм-аут:
root@da4d8b1f4ae4:/# curl host.docker.internal:8000
curl: (28) Failed to connect to host.docker.internal port 8000 after 133451 ms: Connection timed out

Мой /etc/hosts это:

root@da4d8b1f4ae4:/# cat /etc/hosts
127.0.0.1   localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.1  host.docker.internal
172.17.0.2  da4d8b1f4ae4

Есть идеи почему? У меня Ubuntu 22.04.4 LTS

решение1

Я решил свою проблему, выполнив это:

sudo ufw allow 8000

Связанный контент