TGViewer
automated-testing.info automated-testing.info @atinfo · 5.37K subscribers
Post #3034 13.5K
7 лайфхаков по использованию docker для QA

Очень часто в процессе работы QA инженерам приходится иметь дело с docker. Зачастую компании используют его как в продакшене, так и в тестовой инфраструктуре. Документации по docker полно в интернете, но найти что-то именно удобное и полезное довольно сложно. Леша Анисимов, Head of QA в FUNCORP, собрал для вас небольшую подборку лайфаков по работе с docker.

1. Перезапустить контейнер с другими параметрами
Есть такая утилита runlike - https://github.com/lavie/runlike/
Запустив runlike -p <имя_контейнера>, вы получите готовую команду для запуска с теми же параметрами, которые были использованы изначально.
Например, для какого-то тестового сервиса команда и вывод может выглядеть следующим образом:
runlike -p testservice вернет
docker run \
--name=testservice \
--user=test \
-p 8015:8080 \
--restart=always \
--detach=true \
myrepo/testservice:master-1374


2. Выполнить bash-скрипт внутри контейнера
cat local_script.sh | docker exec <container_name> /bin/bash


3. Перезапустить/удалить все docker контейнеры
docker stop $(docker ps -a -q) или docker restart $(docker ps -a -q)

4. Очистить старые images, контейнеры и volumes
docker system prune --all --volumes

5. Вывести в docker ps только нужную в данный момент информацию — например, имя контейнера, его статус и образ
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Image}}"

6. Сохранить и восстановить контейнер
docker commit -p <CONTAINER_ID> <YOUR_BACKUP_NAME>
docker save -o <CONTAINER_FILE>.tar <YOUR_BACKUP_NAME>
docker load -i <CONTAINER_FILE>.tar

7. Сократить разные команды до алиасов и потом использовать короткие версии, например:
dexec() { docker exec -i -t $@ /bin/bash ;}
dlogs() { docker logs --tail=all -f $@ ;}
dip() { docker inspect --format '{{ .NetworkSettings.IPAddress }}' $@ ;}


Надеемся, эти команды помогут вам ускорить работу с docker :)

Если развиваетесь в автоматизации тестирования или имеете опыт управления QA командой, то обратите внимание на две вакансии в команду Леши:
Lead QA Backend
Software Development Engineer in Test
GitHub GitHub - lavie/runlike: Given an existing docker container, prints the command line necessary to run a copy of it. Given an existing docker container, prints the command line necessary to run a copy of it. - lavie/runlike
  • 👍 19
More from @atinfo
  1. Feb 27, 2022Мы любим тестирование и автоматизацию, очень любим. Политика вне зоны наших интересов. Все…
  2. Feb 27, 2022https://200rf.com/
  3. Feb 23, 2022Краткий обзор уязвимостей мобильных приложений. Наиболее распространенные уязвимостям, обн…
  4. Feb 22, 2022photo post
  5. Feb 22, 2022https://medium.com/@schathurangaj/visual-testing-tools-1d9bd36c2339 Визуальное тестировани…
  6. Feb 21, 2022Post #3032
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →