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

Widoczność usług sieciowych kontenerów w gospodarzu
whiteweed
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
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?

Kopiuj
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
Kopiuj
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
Riddle
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 10230
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.

whiteweed
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 15
0

Dzięki. Teraz działa.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.