Перед тобой высокоуровневая архитектура Docker. Давай посмотрим на некоторые объекты, которыми он управляет. Итак, есть четыре основных объекта, которыми управляет Docker Engine. Это docker-образы, контейнеры, сети и тома.
-
Образ Docker — это шаблон только для чтения, используемый для создания docker-контейнера. Такими образами могут быть шаблоны с пустыми операционными системами или с установленными в них приложениями, например, веб-серверами, базами данных и т.д. Мы можем сами создать такой образ для своих приложений.
-
Контейнер — это работающий экземпляр образа. Я думаю о контейнере как об шаблоне-образе, в который можно и писать, и читать из него. Мы можем создавать, запускать, останавливать, перемещать или удалять контейнер при помощи Docker CLI или через вызовы к Docker API.
-
Сеть в Docker помогает реализовать несколько вариантов, позволяющих контейнерам взаимодействовать друг с другом и с внешним миром.
-
Контейнеры по своей природе эфемерны, что означает, что данные внутри контейнера не являются постоянными и связаны с жизненным циклом контейнера. Когда контейнер умирает, вместе с ним умирают и данные, которые были записаны в шаблон. Чтобы сохранить эти данные, появился объект
volume
. Эти тома помогают сохранять данные при перезапуске контейнера.