6 najboljših praks za uporabo posod

Pogovorimo se o nekaterih najboljših praksah, ki jih morate upoštevati pri uporabi vsebnikov.


Kontejnerizacija se pogosto uporablja v več organizacijah za nameščanje aplikacij v vsebniku. Te posode so priljubljene, ker so zelo lahke. Da bi kar najbolje izkoristili posode, med delovanjem z njimi morate upoštevati nekaj najboljših praks.

Uporabite stabilno osnovno sliko

Zahvaljujoč Dockerju ustvarjanje slik posode še nikoli ni bilo enostavnejše.

Določite osnovno sliko, dodajte spremembe in sestavite svoj zabojnik. Čeprav je to super za začetek, lahko uporaba privzetih osnovnih slik privede do velikih slik, polnih varnostnih ranljivosti. Izogibajte se tudi uporabi slike najnovejše oznake dockerja, saj obstaja velika verjetnost, da je v njej prisoten hrošč.

Večina Dockerjevih slik kot osnovno sliko uporabljata Debian ali Ubuntu. Zelo so koristni glede združljivosti in enostavnega vkrcanja, vendar lahko te osnovne slike v vašo posodo dodajo več sto megabajtov.

Na primer, preprosti programi Node.js in Go, zdravi svet, stanejo približno 700 megabajtov. Vaša aplikacija je verjetno le nekaj megabajtov. Torej, ves ta dodatni režijski prostor zapravlja prostor in je odlično skrivališče za varnostne ranljivosti in napake.

Če vaš programski jezik ali stack nima možnosti za majhno osnovno sliko, lahko sestavite vsebnik s pomočjo surovega Alpski Linux kot izhodišče. To vam omogoča tudi popoln nadzor nad tem, kaj spada v zabojnike.

Naj bodo slike vsebnikov manjše

Uporaba manjših osnovnih slik je verjetno najlažji način za zmanjšanje velikosti posode.

Verjetno vaš jezik ali sklad, ki ga uporabljate, zagotavlja uradno sliko, ki je veliko manjša od privzete slike. Na primer, poglejmo vsebnik Node.js. Izhod iz privzetega vozlišča: najnovejše do vozlišča: 14-alpine zmanjša velikost naše osnovne slike za skoraj desetkrat.

najnovejša oznaka nodejs - geekflare

vs. ….

nodejs alpine tag - geekflare

V novi datoteki Docker se zabojnik začne z vozliščem: alpine image, ustvari imenik za kodo, namesti odvisnosti z NPM in na koncu zažene strežnik Node.js. S to posodobitvijo je nastali vsebnik skoraj desetkrat manjši.

Posodo ustvarite še lažje z vzorcem graditelja. Z razlagalnimi jeziki se izvorna koda pošlje tolmaču in nato neposredno izvrši. Toda s sestavljenim jezikom se izvorna koda predhodno pretvori v sestavljeno kodo.

Zdaj, pri jezikih prevajanja, korak kompilacije pogosto zahteva orodja, ki niso potrebna za zagon kode. To pomeni, da lahko ta orodja iz končne posode v celoti odstranite. Če želite to narediti, lahko uporabite vzorec graditelja. Prvi vsebnik ustvari kodo, nato pa je sestavljena koda pakirana v končni vsebnik brez vseh prevajalnikov in orodij, potrebnih za izdelavo sestavljene kode.

Uporaba majhnih osnovnih slik in vzorec graditelja sta odlična načina za ustvarjanje veliko manjših vsebnikov brez veliko dela.

Označite slike posode

Docking označevanje je za nas izjemno izjemno orodje pri urejanju slik. Pomaga pri upravljanju različnih različic slike dockerja. Spodaj je primer gradnje slike dockerja z imenom oznake v1.0.1

docker build -t geekflare / ubuntu: v1.0.1

Zdaj se uporabljata dve vrsti oznak: Stabilno oznake Edinstven oznake.

Uporabite stabilne oznake za vzdrževanje osnovne slike posode. Izogibajte se uporabi teh oznak za posode za uvajanje, ker bodo te oznake pogosto prejemale posodobitve in lahko privedejo do nedoslednosti v proizvodnem okolju.

Uporabite edinstvene oznake za uvajanja. Z edinstvenimi oznakami lahko preprosto povežete proizvodno gručo na številna vozlišča. Prepreči neskladnosti in gostitelji ne bodo vlekli nobene druge različice dockerjeve slike.

Kot dobro prakso morate zakleniti nameščene slikovne oznake, tako da nastavite »write-enable« v »false«. To pomaga pri odstranjevanju nameščene slike iz registra po pomoti.

Varnost vsebnika

Spodaj so osnovne točke za zagotovitev, da je posoda varna.

  • Preverite verodostojnost katere koli programske opreme, ki jo namestite v vsebnik
  • Uporabite podpisane slike dockerja ali slike z veljavno kontrolno vsoto.
  • Prepričajte se, da URL uporablja HTTPS, če uporabljate shrambo tretjih oseb.
  • Preden uporabite upravitelja paketov za posodobitev paketov, vključite prave tipke GPG
  • Nikoli ne zaženite svojih aplikacij kot root. Vedno uporabite uporabniško direktivo znotraj dockerfile, da se prepričate, da boste prekinili privilegije svojega uporabnika.
  • Ne zaganjajte SSH znotraj vsebnika.
  • Naj bo datotečni sistem samo za branje.
  • Za razdelitev grozda uporabite Imena prostora.

Center za internetno varnost (CIS) je za oceno varnosti zabojnika za docker zagotovil merilo Dockerja. Predstavili so odprtokodno skriptu imenovano Docker klop zaradi varnosti, ki jo lahko zaženete, da preverite, kako varen je docker posoda.

Ena aplikacija na posodo

Navidezni stroji so dober pri vzporednem izvajanju več stvari, toda ko gre za zabojnike, morate v enem vsebniku zagnati eno aplikacijo. Če na primer aplikacijo MEAN izvajate v kontejnerskem okolju, bi moral imeti en vsebnik za MongoDB, en vsebnik za Express.js, en vsebnik za kotni in en vsebnik za Node.js.

Tudi zabojniki lahko v njem izvajajo več aplikacij vzporedno, vendar lahko nato izkoristite model posode. Spodaj je pravilna in napačna predstavitev zagnanih aplikacij v vsebniku.

ena aplikacija ena posoda - geekflare

Zabojniki so zasnovani tako, da imajo podoben življenjski cikel kot aplikacija, ki jo izvajajo. Ko se vsebnik zažene, se bo aplikacija zagnala. Ko se vsebnik ustavi, se tudi aplikacija ustavi.

Zaženite posode brez državljanstva

Zabojniki so v osnovi zasnovani tako, da so brez državljanstva. V tem primeru so trajni podatki, ki vsebujejo podatke o stanju vsebnika, shranjeni zunaj vsebnika. Datoteke je mogoče shraniti v shrambo predmetov, kot je shramba v oblaku, za shranjevanje podatkov o seji uporabnika lahko uporabite bazo podatkov z nizko zakasnitvijo, kot je Redis, za shranjevanje na ravni bloka pa lahko priložite tudi zunanji disk.

Če shranite prostor zunaj vsebnika, ga lahko enostavno zaprete ali uničite brez strahu pred izgubo podatkov.

Če uporabljate zabojnike brez državljanstva, jih je mogoče enostavno preseliti ali spremeniti v skladu s poslovnimi potrebami.

Zaključek

Zgoraj je nekaj najpomembnejših praks, ki jih morate upoštevati pri delu s kontejnerji, če gradite proizvodno okolje Docker, nato pa preverite, kako ga zavarovati.

Oznake:

  • Docker

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map