@zlodiak

Становится ли контейнер образом?

Я путаюсь в терминологии и поэтому хотел бы просить вас указать на ошибки.

1. Обычно в начале Docker-файла есть подобная строка: FROM ubuntu:latest. Она запрашивает образ из докер хаба. Образ это операционная система с, возможно, установленным ПО тип. Например postgres, python etc.

2. Остальные команды, которые идут в Dockerfile создают слои. То есть каждая команда создаёт новый слой. Например:
FROM python:3
ADD my_script.py /
RUN pip install pystrich
CMD [ "python", "./my_script.py" ]


3. После того как пользователь собирает docker-билд, появляется контейнер(не запущенный):
docker build -t python-barcode .

4. После того как пользователь запускает этот билд, появляется контейнер запущенный:
docker run python-barcode

5. Если пользователь решит поделиться контейнером с сообществом и закачает его на докер хаб, то контейнер вновь становится образом. Потому что те, кто его скачают для своего проекта не смогут в нём ничего изменить.

Таким образом цикл жизни получается такой:

образ -- образ с слоями -- контейнер -- образ

Скажите пожалуйста, не ошибся ли я в терминологии?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
  1. верно
  2. ок
  3. нет. docker build (док) создаёт новый image (образ) В вашем примере с тегом python-barcode
  4. docker run запускает из образа контейнер. Можно и не один, а несколько, даже параллельно. В вашем примере имя для него сгенерится автоматом, какая-нибудь смешная комбинация двух слов. Контейнер может работать, останавливаться, перезапускаться. Можно удалить контейнер. Контейнер не изменяет образ, из которого создан – он «накатывает» свою деятельность поверх, в новых слоях.
  5. контейнером не поделиться. Делятся образом. Если в контейнер вносили изменения - например, зашли в него терминалом, установили доп. пакеты – можно из этого контейнера создать новый image через docker commit


базовый FROM образ -- образ с доп. слоями = ваш новый образ -- контейнер и изменения -- образ с изменениями
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы