Docker: Справочник
Часто используемые параметры команд Docker
Содержимое страницы
Здесь находится Справочник по Docker, охватывающий самые важные команды и концепции, от установки до запуска контейнеров и очистки:
Установка
На Ubuntu
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
sudo apt update
sudo apt install docker-ce
sudo systemctl start docker
Установка Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
Общие команды Docker
Версия и информация о системе
docker version # Показывает версии CLI и демона Docker
docker system info # Перечисляет данные о вашей среде Docker
docker help # Просмотр индекса справки
docker <command> --help # Просмотр информации о конкретной команде
Вход и выход
docker login # Вход в Docker Hub
docker logout # Выход из Docker Hub
Управление образами
Список образов
docker images # Список всех образов
docker images -a # Список всех образов, включая промежуточные образы
Загрузка образов
docker pull <image-name:version> # Загрузка образа с Docker Hub
Создание образов
docker build -t <image-name> . # Создание образа из Dockerfile текущей директории
docker build -f <Dockerfile-path> -t <image-name> . # Создание образа из конкретного Dockerfile
docker build --build-arg foo=bar . # Создание образа с аргументами сборки
docker build --pull . # Загрузка обновленных версий образов, указанных в инструкциях FROM
docker build --quiet . # Создание образа без вывода информации
Присвоение тегов и отправка образов
docker tag <local-image-name> <username>/<preferred-image-name>
docker push <username>/<preferred-image-name>
Удаление образов
docker rmi <image-name> # Удаление конкретного образа
docker image prune # Удаление ненужных образов
docker image prune -a # Удаление всех ненужных образов
Удаление висячих образов
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Снятие тега с образа
docker rmi repository/image-name:tag
Управление контейнерами
Запуск контейнеров
docker run -itd --name <container-name> <image-name> # Запуск контейнера в фоновом режиме
docker run -it -p <host-port>:<docker-port> <image-name> # Запуск контейнера с отображением портов
docker run -it --name <container-name> <image-name> # Запуск контейнера интерактивно
Список контейнеров
docker ps # Список запущенных контейнеров
docker ps -a # Список всех контейнеров
docker ps -s # Список запущенных контейнеров с использованием CPU и памяти
Запуск, остановка и перезапуск контейнеров
docker start <container-name> # Запуск остановленного контейнера
docker stop <container-name> # Остановка запущенного контейнера
docker restart <container-name> # Перезапуск контейнера
Удаление контейнеров
docker rm <container-name> # Удаление остановленного контейнера
docker rm -f <container-name> # Принудительное удаление контейнера
docker stop $(docker ps -a -q) && docker rm $(docker ps -a -q) # Удаление всех контейнеров
удалить все остановленные контейнеры
docker container prune
Подключение к контейнерам
docker attach <container-name> # Подключение к запущенному контейнеру
docker exec -it <container-name> bash # Запуск команды в запущенном контейнере интерактивно
Просмотр контейнеров
docker inspect <container-name> # Просмотр контейнера
docker logs <container-name> # Просмотр логов контейнера
docker port <container-name> # Показать сопоставления портов контейнера
Управление сетями
docker network ls # Список всех сетей
docker network create <network-name> # Создание новой сети
docker network rm <network-name> # Удаление сети
Управление томами
docker volume ls # Список всех томов
docker volume create <volume-name> # Создание нового тома
docker volume rm <volume-name> # Удаление тома
docker run -v <host-path>:<container-path> <image-name> # Монтирование тома
Docker Compose
Основные команды
docker-compose up # Запуск сервисов, определенных в docker-compose.yml
docker-compose up -d # Запуск сервисов в фоновом режиме
docker-compose down # Остановка и удаление сервисов
docker-compose ps # Список запущенных сервисов
docker-compose logs # Просмотр логов сервисов
docker-compose start # Запуск сервисов
docker-compose stop # Остановка сервисов
docker-compose pause # Приостановка сервисов
docker-compose unpause # Возобновление сервисов
Команды Dockerfile
Создание образа из Dockerfile
docker build -t <image-name> <Dockerfile-path> # Создание образа из Dockerfile
Пример Dockerfile
FROM <base-image>
RUN <command>
COPY <source> <destination>
EXPOSE <port>
CMD ["<command>", "<argument>"]
Безопасность и секреты
Docker Secrets
docker secret create <secret-name> <file> # Создание секрета
docker secret ls # Список всех секретов
docker secret rm <secret-name> # Удаление секрета
Безопасность Docker
- Используйте Docker secrets для централизованного управления чувствительными данными и их безопасной передачи в контейнеры.
- Секреты шифруются при передаче и в покое в кластере Docker swarm.
Очистка
Удаление ненужных ресурсов
docker system prune # Удаление ненужных данных (образов, контейнеров, сетей, томов)
docker image prune # Удаление ненужных образов
docker container prune # Удаление ненужных контейнеров
docker network prune # Удаление ненужных сетей
docker volume prune # Удаление ненужных томов
Удаление непомеченных образов
Иногда после крупной хорошей компиляции появляется изображение, как это docker images
команда:
чтобы удалить эти образы с тегами
docker rmi $(docker images --filter “dangling=true” -q --no-trunc)
вышеуказанный метод устарел и несовместим. Параметр dangling=true устарел. Используйте
docker system prune
он спросит:
ПРЕДУПРЕЖДЕНИЕ! Это удалит:
- все остановленные контейнеры
- все тома, не используемые хотя бы одним контейнером
- все сети, не используемые хотя бы одним контейнером
- все висячие образы
Вы можете решить сказать «Да» к этому предупреждению…
Этот справочник охватывает основные команды и концепции, необходимые для управления контейнерами, образами, сетями, томами и многим другим в Docker. Для более глубокого изучения обратитесь к подробным руководствам и учебным пособиям, доступным в интернете.
Полезные ссылки
- Справочник по Python
- Справочник по Conda
- Справочник по Bash
- Справочник по Ollama
- Справочник по Kubernetes
- Кодирование и декодирование Base64 на Windows, Linux и Mac
- Установка Portainer на Linux
- Переустановка Linux
- Как запустить окна терминала в тайловом режиме в Linux Mint/Ubuntu
- MinIO как альтернатива AWS S3. Обзор и установка MinIO
- Параметры командной строки MinIO. Справочник