Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 3344|Odpoveď: 1

[Zdroj] Zmeny základného obrazu Dockeru pre .NET 8

[Kopírovať odkaz]
Zverejnené 23. 12. 2023 17:30:10 | | | |
Pred .NET 8 kontajnery bežali štandardne ako root a od .NET 8 budú všetky naše Linux obrazy kontajnerov obsahovať ne-root používateľov. Ako ne-root používateľ budete môcť hostovať .NET kontajnery s jedným riadkom kódu. Táto zmena na úrovni platformy zvýši bezpečnosť vašej aplikácie a urobí z .NET jeden z najbezpečnejších vývojárskych ekosystémov. Je to malá zmena, ale má veľký vplyv na hĺbku obrany.

Pochopte UID a GID v Docker kontajneroch

Predvolene proces v kontajneri beží s root používateľskými oprávneniami a tento root používateľ je ten istý používateľ ako root v hostiteľskom stroji. Neznie to desivo, pretože to znamená, že keď má proces v kontajneri správnu šancu, môže ovládať všetko na hostiteľskom stroji!

Referencia:Prihlásenie na hypertextový odkaz je viditeľné.

.NET 8 Docker obraz

Existujú dve hlavné zmeny v obraze .NET 8 Dockeru, a to nasledovne:

  • Image vytvorí nový aplikačný účet a skupinu a spustí aplikáciu s týmto účtom ako predvolený
  • Keď som prešiel na port 8080, ukázalo sa, že to bol port 80, keďže port 80 je privilegovaný port, root oprávnenia sú potrebné (aspoň na niektorých miestach)


Adresa zdrojového kódu obrázka .NET Docker:Prihlásenie na hypertextový odkaz je viditeľné.

Závislosti sú nasledovné:

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

Ako je uvedené nižšie:



Použite aplikačný účet na zadanie základného obrázka a príkaz je nasledovný:

Výstup aktuálnych používateľských a environmentálnych premenných, ako je znázornené na nasledujúcom obrázku:



Referencia:Prihlásenie na hypertextový odkaz je viditeľné.

Dockerfile súbor

Ak potrebujete zabaliť svoj projekt do Docker obrazu, musíte vytvoriť novú .NET 8 Docker kontajnerovú podporu a predvolená konfigurácia súboru Dockerfile v Linux prostredí je nasledovná:

Ak nastavíte systémové časové pásmo v Dockerfile, nasleduje kód:

Chyba Povolenie zamietnuté môže nastať nasledovne:

4>F:\itsvse\Dockerfile : chyba CTC1014: #21 [finálny 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: nepodarilo sa vytvoriť symbolický odkaz '/etc/localtime': Povolenie zamietnuté
4>F:\itsvse\Dockerfile : chyba CTC1014: #21 CHYBA: proces "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime & echo $TZ > /etc/timezone" nebol úspešne dokončený: exit code: 1
4>F:\itsvse\Dockerfile : chyba CTC1014: ------
4>F:\itsvse\Dockerfile : chyba CTC1014: > [finálny 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: nepodarilo sa vytvoriť symbolický odkaz '/etc/localtime': Povolenie zamietnuté
Použite root účet na nastavenie časového pásma, potom sa vráťte k aplikačnému účtu a upravte ho nasledovne:

(Koniec)





Predchádzajúci:.NET/C# na získanie metódy ToLookup
Budúci:PHP získa všetky informácie z hlavičky
 Prenajímateľ| Zverejnené 23. 12. 2023 17:31:55 |
Na analýzu obrazovej vrstvy Dockeru sa odporúčajú dva nástroje
https://www.itsvse.com/thread-10063-1-1.html
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com