Docker Mastery Guide: Команды и примеры
Docker Image (Образы)
1. Сборка образа из Dockerfile:
Команда:
docker build -t image_name path_to_dockerfile
Пример:
docker build -t myapp .
2. Список всех локальных образов:
Команда:
docker images
Пример:
docker ls image
3. Загрузка образа из Docker Hub:
Команда:
docker pull image_name:tag
Пример:
docker pull nginx:latest
4. Удаление локального образа:
Команда:
docker rmi image_name:tag
Пример:
docker rmi myapp:latest
Альтернативная команда:
docker rm [image_name/image_id]
Пример:
docker rm fd484f19954f
5. Пометка образа:
Команда:
docker tag source_image:tag new_image:tag
Пример:
docker tag myapp:latest myapp:v1
6. Отправка образа в Docker Hub:
Команда:
docker push image_name:tag
Пример:
docker push myapp:v1
7. Просмотр деталей образа:
Команда:
docker inspect image image_name:tag
Пример:
docker inspect image myapp:v1
8. Сохранение образа в tar-архив:
Команда:
docker save -o image_name.tar image_name:tag
Пример:
docker save -o myapp.tar myapp:v1
9. Загрузка образа из tar-архива:
Команда:
docker load -i image_name.tar
Пример:
docker load -i image_name.tar
10. Очистка неиспользуемых образов:
Команда:
docker image prune
Docker Container (Контейнеры)
1. Запуск контейнера из образа:
Команда:
docker run container_name image_name
Пример:
docker run myapp
2. Запуск именованного контейнера из образа:
Команда:
docker run --name container_name image_name:tag
Пример:
docker run --name my_container myapp:v1
3. Список всех запущенных контейнеров:
Команда:
docker ps
4. Список всех контейнеров (включая остановленные):
Команда:
docker ps -a
5. Остановка запущенного контейнера:
Команда:
docker stop container_name_or_id
Пример:
docker stop my_container
6. Запуск остановленного контейнера:
Команда:
docker start container_name_or_id
Пример:
docker start my_container
7. Запуск контейнера в интерактивном режиме:
Команда:
docker run -it container_name_or_id
Пример:
docker run -it my_container
8. Запуск контейнера в интерактивном режиме с оболочкой:
Команда:
docker run -it container_name_or_id sh
Пример:
docker run -it my_container sh
9. Удаление остановленного контейнера:
Команда:
docker rm container_name_or_id
Пример:
docker rm my_container
10. Удаление запущенного контейнера (принудительно):
Команда:
docker rm -f container_name_or_id
Пример:
docker rm -f my_container
11. Просмотр деталей контейнера:
Команда:
docker inspect container_name_or_id
Пример:
docker inspect my_container
12. Просмотр логов контейнера:
Команда:
docker logs container_name_or_id
Пример:
docker logs my_container
13. Приостановка запущенного контейнера:
Команда:
docker pause container_name_or_id
Пример:
docker pause my_container
14. Возобновление приостановленного контейнера:
Команда:
docker unpause container_name_or_id
Пример:
docker unpause my_container
Docker Volumes and Network (Тома и сети)
1. Создание именованного тома:
Команда:
docker volume create volume_name
Пример:
docker volume create my_volume
2. Список всех томов:
Команда:
docker volume ls
3. Просмотр деталей тома:
Команда:
docker volume inspect volume_name
Пример:
docker volume inspect my_volume
4. Удаление тома:
Команда:
docker volume rm volume_name
Пример:
docker volume rm my_volume
5. Запуск контейнера с томом (монтирование):
Команда:
docker run --name container_name -v volume_name:/path/in/container image_name:tag
Пример:
docker run --name my_container -v my_volume:/app/data myapp:v1
6. Копирование файлов между контейнером и томом:
Команда:
docker cp local_file_or_directory container_name:/path/in/container
Пример:
docker cp data.txt my_container:/app/data
Сеть (отображение портов):
1. Запуск контейнера с отображением портов:
Команда:
docker run --name container_name -p host_port:container_port image_name
Пример:
docker run --name my_container -p 8080:80 myapp
2. Список всех сетей:
Команда:
docker network ls
3. Просмотр деталей сети:
Команда:
docker network inspect network_name
Пример:
docker network inspect bridge
4. Создание пользовательской сети bridge:
Команда:
docker network create network_name
Пример:
docker network create my_network
5. Подключение контейнера к сети:
Команда:
docker network connect network_name container_name
Пример:
docker network connect my_network my_container
6. Отключение контейнера от сети:
Команда:
docker network disconnect network_name container_name
Пример:
docker network disconnect my_network my_container
Docker Compose
1. Создание и запуск контейнеров, определенных в файле docker-compose.yml:
Команда:
docker-compose up
2. Остановка и удаление контейнеров, определенных в файле docker-compose.yml:
Команда:
docker-compose down
3. Сборка или пересборка сервисов:
Команда:
docker-compose build
4. Список контейнеров для определенного проекта Docker Compose:
Команда:
docker-compose ps
5. Просмотр логов сервисов:
Команда:
docker-compose logs
6. Масштабирование сервисов до определенного количества контейнеров:
Команда:
docker-compose up -d --scale service_name=number_of_containers
Пример:
docker-compose up -d --scale web=3
7. Выполнение одноразовой команды в сервисе:
Команда:
docker-compose run service_name command
Пример:
docker-compose run web npm install
8. Список всех томов:
Команда:
docker volume ls
9. Приостановка сервиса:
Команда:
docker-compose pause service_name
10. Возобновление сервиса:
Команда:
docker-compose unpause service_name
11. Просмотр деталей сервиса:
Команда:
docker-compose ps service_name
Последние версии Docker
1. Инициализация Docker внутри приложения:
Команда:
docker init
2. Наблюдение за сервисом/контейнером приложения:
Команда:
docker-compose watch