Docker — это отличный инструмент для создания микросервисов, который позволяет создавать облачные приложения и системы. Самые важные сущности в Docker: образ и контейнер.
Образ — исполняемый пакет, который содержит всё необходимое для запуска приложения: код, среду выполнения, библиотеки, переменные среды и конфигурационные файлы.
Контейнер создаётся из образа. Это то, чем становится образ во время исполнения (иными словами, образом с состоянием или пользовательским процессом).
Чтобы просмотреть список запущенных контейнеров необходимо ввести команду docker ps (прямо как в Linux).
Docker — отличный инструмент для создания микросервисов, который позволяет создавать облачные приложения и системы. Чтобы выжать из него максимум через терминал, вам пригодятся 10 команд, перечисленных ниже.
docker ps
— показывает список запущенных контейнеров. Некоторые из полезных флагов:-a
/--all
— список всех контейнеров (по умолчанию показывает только запущенные);-q
/--quiet
— перечислить только id контейнеров (полезно, когда вам нужны все контейнеры).
docker pull
— большинство образов создаётся на основе базового образа из Docker Hub. Docker Hub содержит множество готовых образов, которые можно использовать вместо того, чтобы создавать и настраивать свой собственный. Чтобы скачать определённый образ или набор образов (репозиторий), используйте командуdocker pull
.docker build
— эта команда собирает образ Docker из Dockerfile и «контекста». Контекст сборки — это набор файлов, расположенных по определённому пути или URL. Используйте флаг-t
, чтобы задать имя образа. Например, командаdocker build -t my_container .
соберёт образ, используя текущую директорию, на что указывает точка в конце.docker run
— запускает контейнер, на основе указанного образа. Эту команду можно дополнять другими, например,docker run my_image -it bash
запустит контейнер, а затем запустит в нём bash.docker logs
— эта команда используется для просмотра логов указанного контейнера. Можно использовать флаг--follow
, чтобы следить за логами работающей программы:docker logs --follow my_container
.docker volume ls
— показывает список томов, которые являются предпочитаемым механизмом для сохранения данных, генерируемых и используемых контейнерами Docker.docker rm
— удаляет один и более контейнеров, например,docker rm my_container
.docker rmi
— удаляет один и более образов, например,docker rmi my_image
.docker stop
— останавливает один и более контейнеров. Командаdocker stop my_container
остановит один контейнер, аdocker stop $(docker ps -a -q)
— все запущенные. Более грубый способ — использоватьdocker kill my_container
, который не пытается сначала аккуратно завершить процесс.- Можно комбинировать эти команды. Например, для очистки всех контейнеров и образов:
- Останавливаем все запущенные контейнеры
docker stop $(docker ps -q)
. - Удаляем все остановленные контейнеры
docker rm $(docker ps -a -q)
. - Удаляем все образы
docker rmi $(docker images -q)
.
- Останавливаем все запущенные контейнеры