Docker Container
TL;DR
Docker-kontti on yksinkertainen tapa pakata sovellus kaikkine tarpeineen, jotta se toimii samalla tavalla kaikkialla.
Mikä on Docker-kontti?
Docker-kontti on pieni, kevyt paketti, joka sisältää:
- sovelluskoodin
- tarvittavat työkalut
- kirjastot
- asetukset
Koska kaikki on pakattu yhteen, sovellus toimii samalla tavalla missä tahansa tietokoneessa.
Kontit eroavat virtuaalikoneista, koska niillä ei ole omaa käyttöjärjestelmää. Ne käyttävät palvelimen pääkäyttöjärjestelmää, mutta pysyvät erillään muista sovelluksista.
Tässä on helppo tapa hahmottaa se:
- Virtuaalikone: Täysi talo omalla sähköllä ja putkistolla.
- Docker-kontti: Se on kuin asunto kerrostalossa, oma tila, mutta jaat asioita kuten vettä ja sähköä.
Miksi Docker-kontit ovat hyödyllisiä
Monet bugit tapahtuvat, kun sovellukset toimivat eri ympäristöissä, kuten kehityksessä, testauksessa tai tuotannossa. Docker auttaa tekemällä kaiken johdonmukaiseksi.
Tärkeimmät edut:
- Johdonmukaisuus Jos sovelluksesi toimii kannettavallasi, se toimii myös tuotannossa.
- Eristäminen Jos yksi kontti lakkaa toimimasta, muut jatkavat toimintaansa.
- Siirrettävyys Voit rakentaa sovelluksesi Macilla ja ajaa sen Linuxissa tai pilvessä ilman muutoksia.
- Tehokkuus Kontit käynnistyvät nopeasti ja käyttävät vähemmän muistia kuin virtuaalikoneet.
Miten Docker-kontit toimivat
Docker käyttää pääpalvelua nimeltä Docker Engine konttien rakentamiseen ja ajamiseen.
1. Docker Image
Kuva on malli. Se sisältää ohjeet ja tiedostot sovelluksen suorittamiseen.
2. Docker-rekisteri
Kuvat tallennetaan paikkoihin kuten Docker Hub. Voit ladata (pull) kuvia tai ladata (push) omia kuviasi.
3. Kontin suorittaminen
Kun suoritat kuvan, siitä tulee kontti. Tämä kontti käyttää jaettuja kerroksia, mikä auttaa pitämään sen pienenä ja nopeana.
Docker-kontti vs virtuaalikone
| Käyttöjärjestelmä | Jakaa isäntäkäyttöjärjestelmän | On oma käyttöjärjestelmä |
|---|---|---|
| Koko | Pieni (MB) | Suuri (GB) |
| Käynnistysaika | Sekunteja | Minuutteja |
| Resurssien käyttö | Matala | Korkea |
Yksinkertainen esimerkki
Kuvittele, että haluat ottaa käyttöön Python-verkkosovelluksen.
Ilman Dockeria: Sinun on asennettava Python, Flask ja muut työkalut jokaiselle palvelimelle. Eri palvelinasetukset voivat aiheuttaa virheitä.
Dockerin kanssa:
- Kirjoita Dockerfile
- Rakenna kuva
- Suorita kontti
Sovellus toimii samalla tavalla kaikkialla.
Kuka käyttää Docker-kontteja?
- Kehittäjät: Välttääkseen asennusongelmat paikallisilla koneilla
- DevOps-tiimit: Automatisoidakseen käyttöönoton ja skaalaamisen
- Tietoturvatiimit: Eristääkseen sovelluksia ja skannatakseen kuvia ennen julkaisua
Parhaat käytännöt
-
Yksi sovellus per kontti
Varmista, että jokainen kontti on yksinkertainen ja keskittynyt.
-
Käytä luotettuja kuvia
Aina kun mahdollista, aloita virallisilla kuvilla.
-
Pidä kuvat pieninä
Pienemmät kuvat toimivat nopeammin ja ovat yleensä turvallisempia.
-
Skannaa tietoturvaongelmat.
Tarkista kuvasi tunnettujen tietoturvaongelmien varalta
Liittyvät termit
- Kubernetes
- Säiliöorkestrointi
- Mikropalvelut
- CI/CD-putki
- CI/CD-turvallisuus
UKK
Onko Docker sama kuin virtuaalikone?
Ei. Säiliöt jakavat käyttöjärjestelmän. Virtuaalikoneet eivät.
Missä Docker-säiliöt voivat toimia?
Kannettavissa tietokoneissa, palvelimilla tai missä tahansa suurella pilvipalveluntarjoajalla.
Ovatko Docker-säiliöt turvallisia?
Ne lisäävät eristystä, mutta turvallisuus riippuu siitä, miten kuvat rakennetaan ja skannataan.
Mikä on ero kuvan ja säiliön välillä?
Kuva on malli. Säiliö on käynnissä oleva sovellus, joka on tehty siitä mallista.