Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 3344|Odpowiedź: 1

[Źródło] Zmiany obrazów bazowych Dockerów dla .NET 8

[Skopiuj link]
Opublikowano 23.12.2023 17:30:10 | | | |
Przed .NET 8 kontenery domyślnie działały jako root, a począwszy od .NET 8, wszystkie nasze obrazy kontenerów Linuksa będą zawierać użytkowników niebędących root. Będziesz mógł hostować kontenery .NET z jedną linią kodu jako użytkownik nierootowy. Ta zmiana na poziomie platformy sprawi, że Twoja aplikacja stanie się bezpieczniejsza i stanie się jednym z najbardziej bezpiecznych ekosystemów deweloperskich. To drobna zmiana, ale ma duży wpływ na głębię obrony.

Zrozum UID i GID w kontenerach Docker

Domyślnie proces w kontenerze uruchamia się z uprawnieniami użytkownika root, a ten użytkownik root to ten sam użytkownik co root w maszynie hosta. Czy to nie brzmi przerażająco, bo oznacza, że gdy proces w kontenerze ma odpowiednią szansę, może kontrolować wszystko na komputerze hosta!

Odniesienie:Logowanie do linku jest widoczne.

Obraz Dockera .NET 8

W obrazie dockera .NET 8 wprowadzono dwie główne zmiany, które są następujące:

  • Image tworzy nowe konto i grupę w aplikacji oraz domyślnie uruchamia aplikację z tym kontem
  • Przełączyłem się na port 8080, okazało się, że to port 80, ponieważ port 80 jest uprzywilejowany, wymagane są uprawnienia root (przynajmniej w niektórych miejscach)


Adres źródłowy kodu kodu źródłowego obrazu obrazu .NET Docker:Logowanie do linku jest widoczne.

Zależności są następujące:

aspnet:8.0-bookworm-slim -> dotnet/runtime-8.0.0-bookworm-slim-amd64 -> dotnet/runtime-deps-8.0.0-bookworm-slim-amd64 -> amd64/debian:bookworm-slim

dotnet/runtime-deps-8.0.0-bookworm-slim-amd64 wygląda tak:

Jak pokazano poniżej:



Użyj konta aplikacji, aby wprowadzić podstawowy obraz, a polecenie brzmi następująco:

Wyjściowo wypisz aktualne zmienne użytkownika i środowiska, jak pokazano na poniższym rysunku:



Odniesienie:Logowanie do linku jest widoczne.

Plik Dockerfile

Jeśli musisz zapakować swój projekt do obrazu Docker, musisz stworzyć nowe wsparcie dla kontenera dockera .NET 8, a domyślna konfiguracja plików Dockerfile w środowisku Linux wygląda następująco:

Jeśli ustawisz strefę czasową systemu w pliku Docker, następujący kod:

Błąd odrzucenia uprawnień może wystąpić następująco:

4>F:\itsvse\Dockerfile : błąd CTC1014: #21 [final 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & echo Asia/Shanghai > etc/timezone
4>F:\itsvse\Dockerfile : błąd CTC1014: #21 0.314 ln: nie udało się utworzyć symbolicznego linku '/etc/localtime': Pozwolenie odrzucone
4>F:\itsvse\Dockerfile : błąd CTC1014: #21 BŁĄD: proces "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime & echo $TZ > /etc/timezone" nie zakończył się pomyślnie: kod wyjścia: 1
4>F:\itsvse\Dockerfile : błąd CTC1014: ------
4>F:\itsvse\Dockerfile : błąd CTC1014: > [ostatni 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & echo Asia/Shanghai > /etc/timezone:
4>F:\itsvse\Dockerfile : błąd CTC1014: #21 0.314 ln: nie udało się utworzyć symbolicznego linku '/etc/localtime': Pozwolenie odrzucone
Użyj konta root, aby ustawić strefę czasową, potem przełącz się z powrotem do konta aplikacji i zmodyfikuj je w następujący sposób:

(Koniec)





Poprzedni:.NET/C# do zbierania metody ToLookup
Następny:PHP zbiera wszystkie informacje z nagłówka
 Ziemianin| Opublikowano 23.12.2023 17:31:55 |
Do analizy warstwy obrazów Dockera zalecane są dwa narzędzia
https://www.itsvse.com/thread-10063-1-1.html
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com