Dlaczego uruchamiać kontener na porcie 8080 zamiast tym z launchSettings?

0

Hej, zapewne głupie to pytanie, ale jak sam mój nick wskazuje - Beginner :D.

Bawię się Dockerem i mam pytanie. Zrobiłem proste api w .NET 8. Gdy uruchamiam lokalnie aplikację w profilu http startuje ona na 5260, tak jak zadeklarowałem w launchSetting.json w projekcie.

"info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5260
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down."

Natomiast dlaczego, gdy tworzę Dockerfile muszę EXPOSE robić na porcie 8080, a nie 5260 tak jak aplikacja się uruchamia?

3

A kto powiedzial, ze musisz?

1

80 jest domyślne dla http, ale nie rozumiem stwierdzenia dlaczego "musisz". Jak ustawisz tak masz, ale jedno powinno zgrywać się z drugim, tzn. jeśli coś wystawiasz na określonym porcie to druga strona musi o tym wiedzieć, żeby wiedziała, gdzie ma zapukać.

0

@stivens @ccwrc bo bez tego nie mogę się dobić do utworzonego kontenera. Jak na niego patrze w logach

"2024-03-24 1220 info: Microsoft.Hosting.Lifetime[14]
2024-03-24 1220 Now listening on: http://[::]:8080"

To appka defaultowo startuje na 8080, jakby pomijała w ogóle launchSettings, najlepsze że tam żaden profil nie jest ustawiony na 8080... także ciekawe skąd te 8080 jest brane deafultowo.

0

Nie rozumiem. Za duzy skrot zrobiles 😅

W dockerze generalnie ustawiasz mapowanie portu w kontenerze na zewnetrzny port. Musisz tez w cliencie uzywac tego samego portu, co wystawiasz w dockerze na zewnatrz

także ciekawe skąd te 8080 jest brane deafultowo.

Taka konwencja jest. Pewnie biblioteka ma zahardkodowane

6
CSharpBeginner napisał(a):

To appka defaultowo startuje na 8080, jakby pomijała w ogóle launchSettings, najlepsze że tam żaden profil nie jest ustawiony na 8080... także ciekawe skąd te 8080 jest brane deafultowo.

launchSettings.json jest używany tylko przy uruchamianiu apki z IDE albo CLI.

Jak zbudowałeś obraz i odpalasz go przez docker run to apka leci na defaultach. A od .NET 8 domyślny port dla HTTP został zmieniony z 80 na 8080.
Możesz to nadpisać zmiennymi środowiskowymi.

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