Koja je razlika između slike i kontejnera?
sobes.tech АИ
Одговор од АИ
Слика (image) — то је статичан, неизменљив снимак датотека система и параметара конфигурације потребних за покретање апликације. Она служи као шаблон.
Контејнер (container) је активна инстанца слике. Он је динамичан и представља процес у раду са својим мрежним интерфејсом, датотечним системом (основаним на слици) и изолованим окружењем.
| Карактеристика | Слика | Контејнер |
|---|---|---|
| Стање | Неизменљива | Променљива |
| Јединица | Шаблон | Радни пример |
| Величина | Обично мања од радног контејнера | Може бити већа због слоја за записивање |
| Животни циклус | Креира се, чува се | Креира се, покреће, зауставља, брише |
Пример: Dockerfile:
# Основна слика
FROM ubuntu:latest
# Копирање апликације
COPY app /app
# Инсталирање зависности
RUN apt-get update && apt-get install -y python3
# Дефинисање радног директоријума
WORKDIR /app
# Команда за покретање
CMD ["python3", "main.py"]
Овај Dockerfile описује како изградити слику. Након што се слика изгради, на пример командом docker build -t myapp ., добијамо статичку слику myapp.
Затим, покретањем команде docker run -d myapp, креирамо контејнер на основу ове слике. Овај контејнер је активан процес у којем се извршава наша апликација. Може се креирати више контејнера из једне слике. Промене унутар контејнера (нпр. упис датотека) не утичу на саму слику или друге контејнере креиране из ње, захваљујући механизму Copy-on-Write.