Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 3344|Odgovoriti: 1

[Vir] Spremembe osnovne slike Dockerja za .NET 8

[Kopiraj povezavo]
Objavljeno na 23. 12. 2023 17:30:10 | | | |
Pred .NET 8 so kontejnerji privzeto delovali kot root, in od .NET 8 naprej bodo vse naše Linux slike vsebnikov vsebovale ne-root uporabnike. Kot ne-root uporabnik boste lahko gostili .NET kontejnerje z eno vrstico kode. Ta sprememba na ravni platforme bo vašo aplikacijo naredila bolj varno in .NET naredila za enega najbolj varnih razvojnih ekosistemov. To je majhna sprememba, a močno vpliva na globino obrambe.

Razumite UID-je in GID-je v Docker kontejnerjih

Privzeto proces v kontejnerju teče z root uporabniškimi pravicami, ta root uporabnik pa je isti uporabnik kot root v gostiteljskem računalniku. Ali ne zveni strašljivo, saj pomeni, da ko ima proces v kontejnerju pravo priložnost, lahko nadzoruje vse na gostiteljskem računalniku!

Referenčni:Prijava do hiperpovezave je vidna.

.NET 8 Docker slika

Obstajata dve glavni spremembi na .NET 8 Docker sliki, in sicer:

  • Image ustvari nov račun aplikacije in skupino ter aplikacijo privzeto zažene z aplikacijskim računom
  • Ko sem preklopil na port 8080, se je izkazalo, da je port 80, ker je port 80 privilegiran, so root privilegije potrebne (vsaj na nekaterih mestih)


Naslov izvorne kode slike .NET Docker:Prijava do hiperpovezave je vidna.

Odvisnosti so naslednje:

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 izgleda takole:

Kot je prikazano spodaj:



Uporabite aplikacijski račun za vnos osnovne slike, ukaz pa je naslednji:

Izpišite trenutne uporabniške in okoljske spremenljivke, kot je prikazano na naslednji sliki:



Referenčni:Prijava do hiperpovezave je vidna.

Dockerfile datoteka

Če morate svoj projekt zapakirati v Docker sliko, morate ustvariti novo podporo za .NET 8 Docker kontejner, privzeta konfiguracija datotek Dockerfile v Linux okolju pa je naslednja:

Če v Dockerfile nastavite sistemski časovni pas, naslednjo kodo:

Napaka 'Dovoljenje zavrnjeno' se lahko pojavi na naslednji način:

4>F:\itsvse\Dockerfile : napaka CTC1014: #21 [končni 3/3] ZAŽENI ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & echo Asia/Shanghai > /etc/timezone
4>F:\itsvse\Dockerfile : napaka CTC1014: #21 0.314 ln: ni uspelo ustvariti simbolične povezave '/etc/localtime': Dovoljenje zavrnjeno
4>F:\itsvse\Dockerfile : napaka CTC1014: #21 NAPAKA: proces "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime & echo $TZ > /etc/timezone" ni uspešno izveden: izhodna koda: 1
4>F:\itsvse\Dockerfile : napaka CTC1014: ------
4>F:\itsvse\Dockerfile : napaka CTC1014: > [zadnji 3/3] ZAŽENI ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime & echo Asia/Shanghai > /etc/timezone:
4>F:\itsvse\Dockerfile : napaka CTC1014: #21 0.314 ln: ni uspelo ustvariti simbolične povezave '/etc/localtime': Dovoljenje zavrnjeno
Uporabite root račun za nastavitev časovnega pasu, nato se vrnite v aplikacijski račun in ga spremenite takole:

(Konec)





Prejšnji:.NET/C# za zbiranje metode ToLookup
Naslednji:PHP dobi vse informacije iz glave
 Najemodajalec| Objavljeno na 23. 12. 2023 17:31:55 |
Priporočeni sta dve orodji za analizo Docker slikovne plasti
https://www.itsvse.com/thread-10063-1-1.html
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com