Перед выполнением команд нам необходимо установить Docker, для этого перейдем на официальный сайт и установим DockerDesktop. Это приложение для установки в один клик для вашей среды Mac, Linux или Windows, которое позволяет создавать и запускать контейнерные приложения и микросервисы.
Он предоставляет простой графический интерфейс пользователя, который позволяет управлять контейнерами, приложениями и образами непосредственно с вашего компьютера.
Внимание!
В связи с тем, что компания Docker заблокировала Docker Hub(hub.docker.com) для пользователей из России, необходимо добавить зеркала этого хоста в настройки Docker Desktop.
Для этого откройте страницу настроек Settings | Docker Engine:
И измените содержимое текстового поля следующим образом:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://mirror.gcr.io",
"https://dockerhub.timeweb.cloud/"
]
}
После этого нажмите кнопку Apply & restart.
Основные команды Docker
Следующий сборник команд можно рассматривать как своеобразную Библию, знать которую совершенно необходимо для успешного применения Docker (от поиска и сборки образов до создания своих файлов Dockerfile). Сначала мы рассмотрим наиболее простые команды, а затем, опираясь на вновь обретенные знания, перейдем к изучению более сложных.
docker search
Команду docker search можно использовать для поиска образов, доступных в реестре Docker:
docker search [options] term
Графический интерфейс Docker также поддерживает возможность поиска.
В примере показано действие команды docker search django, которая вернула все образы, содержащие django в названиях. Как видите, она вернула первые 25 результатов:
Поиск в графическом интерфейсе дает те же результаты, как показано ниже:
Некоторые результаты, встречаются один раз, но некоторые повторяются, потому что образы с повторяющимися названиями были созданы и выгружены разными пользователями для каких-то своих специфических нужд.
Если выполнить команду search с ключом --filter, она вернет только наиболее часто используемые образы, опираясь на отзывы других пользователей:
docker search --filter stars=50 django
Эта команда вернет все образы, имеющие слово django в названии и получившие не менее 50 звезд по отзывам пользователей:
docker pull
Команда docker pull загружает указанный образ из реестра Docker на локальный компьютер:
docker pull image:tag
Например, как показано ниже, команда docker pull django загрузит образ django.
Если тег (tag, обозначающий версию) не указан, команда подставит тег latest и загрузит только последнюю версию образа Django. В этом случае она будет действовать подобно команде:
docker pull django:latest
docker images
Команда docker images возвращает список образов верхнего уровня, доступных на локальном компьютере:
docker images [options]
Например, команда docker images -a выведет список всех образов верхнего уровня, включающий название репозитория, тег, дату создания и виртуальный размер. Она не отображает образы промежуточных уровней:
Также мы можем посмотреть наши образы через графический интерфейс:
Важно помнить, что при создании или сборке образов Docker на локальном компьютере дополнительно создаются различные промежуточные уровни. Например, если используемый нами файл Dockerfile имеет несколько команд, выполняющих сборку образов, каждая из них обеспечивает дополнительный уровень и образ для него. Это один из ключевых аспектов Docker, который делает контейнеры идеально подходящими для повторного использования.
docker rmi
Команда docker rmi удаляет указанный образ или образы на локальном компьютере:
docker rmi [options] image [image, image...]
Например, команда docker rmi django, представленная на скриншоте ниже, удалит образ Django, а также все уровни, установленные с хоста:
docker run
Следующий логичный шаг после загрузки образа (командой pull) – его запуск. Именно это делает команда docker run:
docker run [options] image: tag [command, args]
Данная команда разворачивает контейнер в его собственной файловой системе, имеющей свой набор портов и IP-адрес.
Кроме названия образа, команде run можно также передать дополнительные ключи и аргументы. Вот наиболее часто используемые из них:
-
--interactiveпереключает команду в интерактивный режим и открывает STDIN; -
--ttyсоздает псевдотерминал TTY.
Команда docker run поддерживает множество других ключей, например для запуска процесса в фоновом режиме -d, когда контейнер запускается без поддержки командной строки. Также можно переопределить являющиеся частью запускаемого образа команды по умолчанию. Дополнительно можно задать ограничения на объем памяти и количество доступных процессоров.
Для примера давайте загрузим образ Ubuntu и выполним команду run:
docker pull ubuntu:latest
Эта команда загрузит образ Ubuntu на локальный компьютер, в чем можно убедиться, выполнив команду docker images -a
Теперь запустим этот образ на локальном компьютере с ключами --interactive и --tty.
Дополнительно потребуем запустить процесс командной оболочки:
docker run --interactive --tty ubuntu sh
Сейчас на нашем локальном компьютере выполняется контейнер Ubuntu.
Вы можете выполнить любые команды в этом окне, какие пожелаете. В качестве примера выполним несколько простых команд:
Как видите, каталог bin содержит все основные программы, необходимые системе для работы.
Чтобы выйти, можем ввести команду exit.