Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 3344|Odpověď: 1

[Zdroj] Změny základního obrazu Dockeru pro .NET 8

[Kopírovat odkaz]
Zveřejněno 23.12.2023 17:30:10 | | | |
Před .NET 8 běžely kontejnery ve výchozím nastavení jako root a od .NET 8 budou všechny naše Linux obrazy kontejnerů obsahovat uživatele bez rootu. Jako uživatel bez root kódu budete moci hostovat .NET kontejnery s jedním řádkem kódu. Tato změna na úrovni platformy učiní vaši aplikaci bezpečnější a udělá z .NET jeden z nejbezpečnějších vývojářských ekosystémů. Je to malá změna, ale má velký dopad na obranu v hloubce.

Pochopte UID a GID v Docker kontejnerech

Ve výchozím nastavení proces v kontejneru běží s root uživatelskými oprávněními a tento root uživatel je stejný uživatel jako root v hostitelském stroji. Nezní to děsivě, protože to znamená, že jakmile má proces v kontejneru správnou šanci, může ovládat vše na hostitelském stroji!

Odkaz:Přihlášení k hypertextovému odkazu je viditelné.

Obraz dockeru .NET 8

Existují dvě hlavní změny v obraze .NET 8 Dockeru, a to následovně:

  • Image vytvoří nový účet a skupinu v aplikaci a spustí aplikaci ve výchozím nastavení s tímto účtem
  • Když jsem přepnul na port 8080, ukázalo se, že to byl port 80, protože port 80 je privilegovaný, root oprávnění jsou vyžadována (alespoň na některých místech)


Zdrojová adresa kódu obrázku .NET Docker:Přihlášení k hypertextovému odkazu je viditelné.

Závislosti jsou následující:

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 vypadá takto:

Jak je uvedeno níže:



Použijte aplikační účet k zadání základního obrázku a příkaz je následující:

Výstup aktuálních uživatelských a environmentálních proměnných, jak je znázorněno na následujícím obrázku:



Odkaz:Přihlášení k hypertextovému odkazu je viditelné.

Dockerfile soubor

Pokud potřebujete zabalit svůj projekt do Docker image, musíte vytvořit novou podporu dockeru pro .NET 8 a výchozí nastavení souboru Dockerfile pro Linux je následující:

Pokud nastavíte systémové časové pásmo v Dockerfile, následující kód:

Chyba Povolení zamítnuté může nastat následovně:

4>F:\itsvse\Dockerfile : chyba CTC1014: #21 [finální 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & echo Asia/Shanghai > /etc/timezone
4>F:\itsvse\Dockerfile : chyba CTC1014: #21 0.314 ln: nepodařilo se vytvořit symbolický odkaz '/etc/localtime': Povolení zamítnuto
4>F:\itsvse\Dockerfile : chyba CTC1014: #21 CHYBA: proces "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime & echo $TZ > /etc/timezone" nebyl úspěšně dokončen: výstupní kód: 1
4>F:\itsvse\Dockerfile : chyba CTC1014: ------
4>F:\itsvse\Dockerfile : chyba CTC1014: > [finální 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & echo Asia/Shanghai > /etc/timezone:
4>F:\itsvse\Dockerfile : chyba CTC1014: #21 0.314 ln: nepodařilo se vytvořit symbolický odkaz '/etc/localtime': Povolení zamítnuto
Použijte root účet k nastavení časového pásma, pak se vraťte zpět k účtu v aplikaci a upravte ho následovně:

(Konec)





Předchozí:.NET/C# pro sběr metody ToLookup
Další:PHP získá všechny informace z hlavičky
 Pronajímatel| Zveřejněno 23.12.2023 17:31:55 |
Doporučují se dva nástroje pro analýzu obrazové vrstvy Dockeru
https://www.itsvse.com/thread-10063-1-1.html
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com