Install DOCKER
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
Info and Registry
docker info – Информация обо всём в установленном Docker
docker history – История образа
docker tag – Дать тег образу локально или в registry
docker login – Залогиниться в registry
docker search – Поиск образа в registry
docker pull – Загрузить образ из Registry себе на хост
docker push – Отправить локальный образ в registry
Container Management
docker ps -а – Посмотреть все контейнеры
docker start container-name – Запустить контейнер
docker kill/stop container-name – Убить (SIGKILL) /Остановить (SIGTERM) контейнер
docker logs –tail 100 container-name – Вывести логи контейнера, последние 100 строк
docker inspect container-name – Вся инфа о контейнере + IP
docker rm container-name – Удалить контейнер (поле каждой сборки Dockerfile)
docker rm -f $(docker ps -aq) – Удалить все запущенные и остановленные контейнеры
docker events container-name
docker port container-name – Показать публичный порт контейнера
docker top container-name – Отобразить процессы в контейнере
docker stats container-name – Статистика использования ресурсов в контейнере
docker diff container-name – Изменения в ФС контейнера
Images
docker build -t my_app . – Билд контейнера в текущей папке, Скачивает все слои для запуска образа
docker images / docker image ls – Показать все образы в системе
docker image rm / docker rmi image – Удалить image
docker commit lepkov/debian11slim:version3- Создает образ из контейнера
docker insert URL – вставляет файл из URL в контейнер
docker save -o backup.tar – Сохранить образ в backup.tar в STDOUT с тегами, версиями, слоями
docker load – Загрузить образ в .tar в STDIN с тегами, версиями, слоями
docker import – Создать образ из .tar
docker image history –no-trunc – Посмотреть историю слоёв образа
docker system prune -f – Удалит все, кроме используемого (лучше не использовать на проде, ещё кстати из-за старого кеша может собираться cтарая версия контейнера)
Run
docker run -d -p 80:80 -p 22:22 debian:11.1-slim sleep infinity (–rm удалит после закрытия контейнера, –restart unless-stopped добавит автозапуск контейнера) – Запуск контейнера интерактивно или как демона/detached (-d), Порты: слева хостовая система, справа в контейнере, пробрасывается сразу 2 порта 80 и 22, используется легкий образ Debian 11 и команда бесконечный сон
docker update –restart unless-stopped redis – добавит к контейнеру правило перезапускаться при закрытии, за исключением команды стоп, автозапуск по-сути
docker exec -it container-name /bin/bash (ash для alpine) – Интерактивно подключиться к контейнеру для управления, exit чтобы выйти
docker attach container-name – Подключиться к контейнеру чтоб мониторить ошибки логи в реалтайме