Wpis z mikrobloga

Ile opinii, tyle ekspertów. Dlatego pytam fachowców. #linux #devops

Czym się różni port 5432 (na obu kontenerach), który nie powoduje błędu alokacji na hoście.

I ten co napisałem (z dupy dla testu), który zawsze widziałem w dokumentacji w stylu :5434:5434, który POWODUJE błąd alokacji na hoście?
Error response from daemon: driver failed programming external connectivity on endpoint postgresmaster-slavebitnami-postgresql-slave-1 (8b60cb2a43185815f04a6e421fec5f1cc093d0d69e8061dbdadcb63f89bdd36f): Bind for 0.0.0.0:5434 failed: port is already allocated

Niech się zaczną igrzyska. ( ͡° ͜ʖ ͡°)
Pobierz
źródło: comment_166869817822GYf5TfTK6FxHZGJFFAcV.jpg
  • 8
via Wykop Mobilny (Android)
  • 0
@Koliat: nie jasne jest to dlaczego tylko port 5434, port 5432 działa dobrze nawet jeśli się powtórzy.

Wygląda na to że apliakcja korzysta z portu w docerfile, a docker port 5432 otwarty jest tylko na kontenerze, ale nie jest przypisany do hosta, więc nikt z zewnątrz go nie widzi...
@pyroxar:

There are three options:


Specify both ports (HOST:CONTAINER)

Specify just the container port (an ephemeral host port is chosen for the host port).

Specify the host IP address to bind to AND both ports (the default is 0.0.0.0, meaning all interfaces): (IPADDR:HOSTPORT:CONTAINERPORT). If HOSTPORT is empty (for example 127.0.0.1::80), an ephemeral port is chosen to bind to on the host.


Masz w dokumentacji jasno napisane o co chodzi
@pyroxar Bo 5432 jest tylko lokalnie wewnątrz kontenera. Nie jest wystawione na zewnątrz.
Powiedzmy w kontenerze masz podsieć 172.16.5.0 i tam jest wystawione 5432. A na kompie masz 192.168.5.0 i te sieci nie są ze sobą spięte.
W tej konfiguracji będą 2 oddzielne sieci dla tych kontenerów.
5434 ci rzuca, bo robisz bridge do sieci twojego kompa i tam już będzie konflikt 2x 5434.