Docker Mastery Guide: Команды и примеры

Deploy проекта на сервере

splinter

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