1. Зупинка всіх активних контейнерів
Зупиніть усі поточні активні контейнери однією командою:
#!/bin/bash
# Зупинити всі активні контейнери
docker stop $(docker ps -q)
docker ps -q: Отримує ідентифікатори активних контейнерів.docker stop: Зупиняє ці контейнери за їхніми ID.
2. Автоматичний запуск всіх контейнерів
Після перезавантаження системи або обслуговування швидко перезапустіть усі контейнери:
#!/bin/bash
# Запустити всі зупинені контейнери
docker start $(docker ps -aq)
docker ps -aq: Повертає список всіх контейнерів, включаючи зупинені.docker start: Запускає контейнери за їхніми ID.
3. Видалення зупинених контейнерів
Очистіть місце на диску, видаливши зупинені контейнери:
#!/bin/bash
# Видалити всі зупинені контейнери
docker rm $(docker ps -aq -f "status=exited")
docker ps -aq -f "status=exited": Фільтрує тільки зупинені контейнери.docker rm: Видаляє ці контейнери.
4. Моніторинг використання ресурсів контейнерів
Відстежуйте використання CPU, пам'яті та мережі в режимі реального часу:
#!/bin/bash
# Моніторинг ресурсів усіх активних контейнерів
docker stats --all
docker stats: Відображає живу статистику контейнерів.--all: Включає як активні, так і зупинені контейнери.
5. Видалення "висячих" образів
Звільніть місце на диску, видаливши невикористовувані образи:
#!/bin/bash
# Видалити "висячі" образи
docker rmi $(docker images -q -f "dangling=true")
docker images -q -f "dangling=true": Знаходить невикористовувані образи.docker rmi: Видаляє ці образи.
6. Резервне копіювання даних контейнера
Створіть резервну копію файлової системи контейнера у вигляді tar-архіву:
#!/bin/bash
# Резервне копіювання даних контейнера
CONTAINER_ID=$1
BACKUP_FILE="${CONTAINER_ID}_backup_$(date +%F).tar"
docker export $CONTAINER_ID > $BACKUP_FILE
echo "Резервна копія збережена у $BACKUP_FILE"
docker export: Зберігає файлову систему контейнера у файл.- Вкажіть ID контейнера як аргумент.
7. Відновлення контейнера з резервної копії
Відновіть контейнер із tar-архіву:
#!/bin/bash
# Відновлення контейнера з резервної копії
BACKUP_FILE=$1
docker import $BACKUP_FILE restored_container:latest
echo "Контейнер відновлено як 'restored_container:latest'"
docker import: Перетворює tar-файл у Docker-образ.- Цей образ можна використовувати для створення нових контейнерів.
8. Тимчасовий запуск контейнера
Запустіть контейнер, який автоматично видалиться після зупинки:
#!/bin/bash
# Запустити контейнер і видалити після завершення
IMAGE_NAME=$1
docker run --rm $IMAGE_NAME
--rm: Видаляє контейнер після його зупинки.- Ідеально підходить для одноразових завдань.
9. Автоматичне очищення невикористаних ресурсів
Заплануйте регулярне очищення невикористаних ресурсів Docker:
#!/bin/bash
# Очищення невикористаних ресурсів
docker system prune -f --volumes
docker system prune: Видаляє невикористані контейнери, образи та мережі.--volumes: Видаляє також невикористовувані томи.
10. Перегляд логів всіх контейнерів
Перегляньте логи з кількох контейнерів в одному виводі:
#!/bin/bash
# Відображення логів усіх контейнерів
docker ps -q | xargs -I {} docker logs {}
docker ps -q: Отримує ID активних контейнерів.xargs: Передає ID у командуdocker logs.
11. Перезапуск всіх контейнерів
Швидко перезапустіть усі активні контейнери:
#!/bin/bash
# Перезапустити всі контейнери
docker restart $(docker ps -q)
docker restart: Зупиняє та запускає контейнери за їхніми ID.
12. Оновлення запущених контейнерів
Оновіть контейнери до останньої версії їхнього образу:
#!/bin/bash
# Оновити запущений контейнер
CONTAINER_NAME=$1
IMAGE_NAME=$(docker inspect --format='{{.Config.Image}}' $CONTAINER_NAME)
docker pull $IMAGE_NAME
docker stop $CONTAINER_NAME
docker rm $CONTAINER_NAME
docker run -d --name $CONTAINER_NAME $IMAGE_NAME
docker inspect: Отримує ім'я образу контейнера.- Скрипт завантажує останній образ і відтворює контейнер.
13. Копіювання файлів із контейнера
Експортуйте файли або каталоги з контейнера на хост:
#!/bin/bash
# Копіювати файли з контейнера
CONTAINER_ID=$1
SOURCE_PATH=$2
DEST_PATH=$3
docker cp $CONTAINER_ID:$SOURCE_PATH $DEST_PATH
echo "Скопійовано $SOURCE_PATH з $CONTAINER_ID у $DEST_PATH"
docker cp: Переносить файли між контейнером і хостом.- Вкажіть ID контейнера, шлях джерела та місце призначення.
14. Перегляд відкритих портів
Перевірте, які порти відкриті у запущених контейнерах:
#!/bin/bash
# Показати відкриті порти
docker ps --format '{{.ID}}: {{.Ports}}'
docker ps --format: Виводить ID контейнерів і їхні порти.
15. Автоматичний перезапуск контейнера
Налаштуйте контейнер на автоматичний перезапуск після збою:
#!/bin/bash
# Налаштування автоматичного перезапуску контейнера
CONTAINER_NAME=$1
docker update --restart always $CONTAINER_NAME
echo "$CONTAINER_NAME тепер автоматично перезапускається у разі збою."
docker update --restart always: Задає політику перезапуску.- Вкажіть ім'я контейнера як аргумент.