Docker — отличный инструмент для создания микросервисов, который позволяет создавать облачные приложения и системы. Чтобы выжать из него максимум через терминал, вам пригодятся 10 команд, перечисленных ниже.
Контейнер запускается путём запуска образа. Образ — исполняемый пакет, который содержит всё необходимое для запуска приложения: код, среду выполнения, библиотеки, переменные среды и конфигурационные файлы. Контейнер создаётся из образа. Это то, чем становится образ во время исполнения (иными словами, образом с состоянием или пользовательским процессом). Вы можете просмотреть список запущенных контейнеров с помощью команды docker ps, прямо как в Linux.
- 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 kill $(docker ps -q).
- Удаляем все остановленные контейнеры docker rm $(docker ps -a -q).
- Удаляем все образы docker rmi $(docker images -q).
Существует гораздо больше команд для Docker, о которых можно почитать в документации. Пробуйте новые примеры, комбинируйте их, и скоро это войдёт в привычку.