Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 3485|Vastaus: 1

[Lähde] Dockerin peruskuvan muutokset .NET 8:lle

[Kopioi linkki]
Julkaistu 23.12.2023 17.30.10 | | | |
Ennen .NET 8:aa kontit toimivat oletuksena juurina, ja .NET 8:sta alkaen kaikki Linux-konttikuvamme sisältävät ei-root-käyttäjiä. Voit isännöidä .NET-kontteja yhdellä koodirivillä ei-root-käyttäjänä. Tämä alustatason muutos tekee sovelluksestasi turvallisemman ja tekee .NET:stä yhden turvallisimmista kehittäjäekosysteemeistä. Tämä on pieni muutos, mutta sillä on suuri vaikutus puolustuksen syvällisyyteen.

Ymmärrä UID- ja GID-tiedostot Docker-kontteissa

Oletuksena kontin prosessi toimii juurikäyttäjäoikeuksilla, ja tämä juurikäyttäjä on sama käyttäjä kuin isäntäkoneen juuri. Eikö se kuulosta pelottavalta, koska se tarkoittaa, että kun prosessi kontissa saa oikean mahdollisuuden, se voi hallita kaikkea isäntäkoneessa!

Viittaus:Hyperlinkin kirjautuminen on näkyvissä.

.NET 8 Docker-kuva

.NET 8 Docker -kuvassa on kaksi pääasiallista muutosta:

  • Image luo uuden sovellustilin ja ryhmän, ja ajaa sovelluksen oletuksena sovellustilillä
  • Kun vaihdoin porttiin 8080, se osoittautui portiksi 80, koska portti 80 on etuoikeutettu, root-oikeudet ovat pakollisia (ainakin joissain kohdissa)


.NET Docker Image source code -osoite:Hyperlinkin kirjautuminen on näkyvissä.

Riippuvuudet ovat seuraavat:

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 näyttää tältä:

Kuten alla on esitetty:



Käytä sovellustiliä syöttääksesi peruskuvan, ja komento on seuraava:

Tulosta nykyiset käyttäjä- ja ympäristömuuttujat, kuten seuraavassa kuvassa on esitetty:



Viittaus:Hyperlinkin kirjautuminen on näkyvissä.

Dockerfile-tiedosto

Jos sinun täytyy paketoida projektisi Docker-kuvaksi, sinun täytyy luoda uusi .NET 8 Docker-konttituki, ja oletusasetukset Linux-ympäristössä Dockerfile-tiedoston asetukset ovat seuraavat:

Jos asetat järjestelmän aikavyöhykkeen Dockerfileen, seuraava koodi:

Luvan hylkäysvirhe voi ilmetä seuraavasti:

4>F:\itsvse\Dockerfile : error CTC1014: #21 [viimeinen 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone
4>F:\itsvse\Dockerfile : error CTC1014: #21 0.314 ln: epäonnistui symbolisen linkin luomisessa '/etc/localtime': Lupa evätty
4>F:\itsvse\Dockerfile : error CTC1014: #21 ERROR: prosessi "/bin/sh -c ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone" ei valmistunut onnistuneesti: exit code: 1
4>F:\itsvse\Dockerfile : virhe CTC1014: ------
4>F:\itsvse\Dockerfile : error CTC1014: > [viimeinen 3/3] RUN ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai > /etc/timezone:
4>F:\itsvse\Dockerfile : error CTC1014: #21 0.314 ln: epäonnistui symbolisen linkin luomisessa '/etc/localtime': Lupa evätty
Käytä juuritiliä aikavyöhykkeen asettamiseen, vaihda sitten takaisin sovellustiliin ja muokkaa sitä seuraavasti:

(Loppu)





Edellinen:.NET/C# kerätäkseen ToLookup-metodin
Seuraava:PHP saa kaikki otsikkotiedot
 Vuokraisäntä| Julkaistu 23.12.2023 17.31.55 |
Docker-kuvakerroksen analysointiin suositellaan kahta työkalua
https://www.itsvse.com/thread-10063-1-1.html
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com