Mis vahe on pildi ja konteineri vahel?
sobes.tech AI
Vastus AI-lt
Piltne (image) — see on staatiline, muutumatu failisüsteemi ja konfiguratsiooniparameetrite pilt, mis on vajalik rakenduse käivitamiseks. See toimib mallina.
Konteiner (container) — see on pildi jooksvalt eksemplar. See on dünaamiline ja esindab töötavat protsessi oma võrguliidesega, failisüsteemiga (pildi põhjal) ja isoleeritud keskkonnaga.
| Omadus | Pilt | Konteiner |
|---|---|---|
| Seisund | Muutumatud | Muutuvad |
| Olend | Mall | Töötav eksemplar |
| Suurus | Tavaliselt väiksem kui töötav konteiner | Võib olla suurem kirjutuskihi tõttu |
| Elutsükkel | Luua, hoitakse | Luua, käivitada, peatada, kustutada |
Näide: Dockerfile pilt:
# Põhupilt
FROM ubuntu:latest
# Rakenduse kopeerimine
COPY app /app
# sõltuvuste installimine
RUN apt-get update && apt-get install -y python3
# Töökataloogi määramine
WORKDIR /app
# Käivitamiskäsk
CMD ["python3", "main.py"]
See Dockerfile kirjeldab, kuidas pilti ehitada. Pildi loomise järel, näiteks käsklusega docker build -t myapp ., saame staatilise pildi myapp.
Seejärel, käivitades käsuga docker run -d myapp, loome selle pildi põhjal konteineri. See konteiner on aktiivne protsess, milles täidetakse meie rakendus. Ühe pildi põhjal saab luua mitu konteinerit. Ühe konteineri sees tehtud muudatused (näiteks failide kirjutamine) ei mõjuta ise pilti ega teisi selle pildi alt käivitatud konteinerid, tänu Copy-on-Write mehhanismile.