Widoczność usług sieciowych kontenerów w gospodarzu

0

Cześć. Mam problem z sieciami w docker. Postępowałem zgodnie z YT: . Wykonałem polecenia(poniżej). Mogę ping-ować między kontenerami. Jednak nie widać ich na zewnątrz. Nie wiem dlaczego? Domyślna sieć dla docker to przecież bridge. Serwer Apache mogę uruchomić w trybie tekstowym w kontenerze, ale w przeglądarce już nie. Dlaczego?

docker run -dit --name Ubuntu ubuntu
docker run -dit --name contA busybox
docker run -dit --name contB busybox
docker network inspect bridge
docker attach contA
docker run -dit --name Ubuntu -p 8090:8080 ubuntu
docker attach Ubuntu
apt update && apt upgrade
apt install sudo
adduser piotr                         
usermod -aG sudo piotr
sudo apt install apache2
exit
docker exec --privileged -it Ubuntu /bin/bash
sudo ufw app list
sudo ufw allow in "Apache"
sudo ufw status
sudo apt install elinks
sudo service apache2 start
elinks http://<IP>:80
sudo service apache2 stop
1

Wydaje mi się że nie wstawiłeś portów.

Domyślnie kontenery dockera widzą się w swojej sieci, ale gospodarz nie. To jedna z zalet konteneryzacji że różne elementy kontenerów nie są automatycznie widoczne w hoscie.

Podczas uruchamiania kontenera dodaj flagę -p 8080:80, żeby port 80 z kontenera był widoczny na porcie 8080 w hoscie.

0

Dzięki. Teraz działa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1