Skip to content

Instantly share code, notes, and snippets.

@kool79
Created February 24, 2022 01:16
Show Gist options
  • Save kool79/6b0471a6cb8a105d347cd3c9dbc88d36 to your computer and use it in GitHub Desktop.
Save kool79/6b0471a6cb8a105d347cd3c9dbc88d36 to your computer and use it in GitHub Desktop.
Docker cheatsheet
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 localscript.sh | docker exec <containername> /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 <CONTAINERID> <YOURBACKUPNAME>
docker save -o <CONTAINERFILE>.tar <YOURBACKUPNAME>
docker load -i <CONTAINERFILE>.tar
7. Сократить разные команды до алиасов и потом использовать короткие версии, например:
dexec() { docker exec -i -t $@ /bin/bash ;}
dlogs() { docker logs --tail=all -f $@ ;}
dip() { docker inspect --format '{{ .NetworkSettings.IPAddress }}' $@ ;}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment