Найти в Дзене

Основные команды Docker которые должен знать Тестировщик. Часть 3.

В прошлой статье мы начали знакомство с командами Docker. В этой статье углубимся в манипуляции с контейнерами и образами.

Docker. Модуль 4 | Обучение тестированию | Дзен

По мимо удаления и запуска контейнеров через команду run, мы можем явно их запускать.

docker start (id контейнера)

После использования мы можем его остановить

docker stop (id контейнера)

После запуска контейнера мы можем войти в него с помощью команды -it. Если мы просто запустим контейнер с помощью команды docker run и укажем название образа, то контейнер запустится без входа. Однако иногда нам нужно явно указать, что мы хотим войти в контейнер.

docker run -d (название образа)

Или же бывают случаи, когда у нас уже запущен контейнер и мы хотим зайти внутрь него, нам поможет в этом следующая команда

docker attach (id контейнера)

Теперь поговорим об образах. Мы можем создавать образы, и им будет автоматически присваиваться случайное имя. Или же мы можем дать образу собственное имя.

Как мы видим у нас сгенерировалось имя нашему образу

-2

Мы можем запускать, а можем удалить образ по его имени. Но только после удаления контейнера

docker rmi node

Как видим, теперь у нас нет ни образов ни контейнеров

-3

Мы уже умеем создавать образы с помощью команды pull. Но можно также создавать создавать свои образы. Создадим сначала простой Dockerfile с небольшим наполнением

-4

FROM postman/newman:alpine - Это образ от которого наследуемся, он также находится на Docker Hub.

RUN npm install -g newman-reporter-htmlextra - это установка нужного отчёта для newman

RUN npm install -g newman-reporter-teamcity - это установка нужных настроек для TeamCity (Понадобиться в дальнейшем, если не планируете внедрять тесты в TeamCity, то настройка не нужна)

Этот образ нужен для запуска тестов postman, рассказывал об этом в этих статьях

Чтобы нам запустить сборку своего образа нужно использовать следующую команду

docker build .

Точка обозначает, что Dockerfile находится в текущей директории. Мы же хотим дать своё название нашему образу

docker build -t postman .

После чего ваш образ соберётся

-5
-6

Мы можем запускать наш образ и дать образ контейнеру, чтобы точно знать, с каким именем наш контейнер. В сокращении это выглядит так

docker run --name postmanrun postman

Да он нам выдаст ошибку, но это связанно с самим образом, в команде проблем нет

-7

Как мы видим у нас есть образ с именем postman и контейнер с именем postmanrun

-8

Мы можем запустить наш контейнер рабочей командой

docker run -v %cd%:/etc/newman/ --name post postman run dzen.json --environment env.json --insecure --reporters cli,htmlextra --reporter-htmlextra-export "new_report.html"
-9

Контейнер запустился и у него теперь название которое мы указали в запросе

-10

Мы можем посмотреть что происходило в этом контейнере

docker logs (id/name контейнера)
-11

Вы правы, после запуска у нас каждый раз создаётся новый контейнер. В некоторых случаях нам нужен только запуск контейнера, а после его завершения мы можем удалить контейнер.

docker run --rm --name post postman

Снова запускаем нашу команду, только уже с rm и проверяем список контейнеров

-12

Бывает так, что нам нужно отличать несколько образов, можно отличать по имени или же по тегу

docker bild -t Name:version

Как видим, теперь у нас несколько версий образов

-13

Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!

Обучение тестированию