Я путаюсь в терминологии и поэтому хотел бы просить вас указать на ошибки.
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. Если пользователь решит поделиться контейнером с сообществом и закачает его на докер хаб, то контейнер вновь становится
образом. Потому что те, кто его скачают для своего проекта не смогут в нём ничего изменить.
Таким образом цикл жизни получается такой:
образ --
образ с слоями --
контейнер --
образ
Скажите пожалуйста, не ошибся ли я в терминологии?