Создание ВМ с Container Optimized Image и несколькими Docker-контейнерами
В этой инструкции вы создадите виртуальную машину из образа Container Optimized Image с несколькими Docker-контейнерами внутри. Для создания ВМ будет использована Docker Compose спецификация.
Перед началом работы
Если нужный Docker-образ загружен в Yandex Container Registry, то создайте сервисный аккаунт с ролью container-registry.images.puller на используемый реестр. От его имени ВМ на базе Container Optimized Image будет скачивать из реестра Docker-образ.
Создайте ВМ с несколькими Docker-контейнерами
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать ВМ на базе образа Container Optimized Image и несколькими Docker-контейнерами.
-
Посмотрите описание команды CLI для создания ВМ на базе образа Container Optimized Image:
yc compute instance create-with-container --help
-
Подготовьте спецификацию Docker-контейнеров. Сохраните следующие данные в файл
docker-compose.yaml
:version: '3.7' services: app1: container_name: nginx image: "nginx" ports: - "80:80" restart: always app2: container_name: redis image: "redis" restart: always
-
Создайте ВМ с несколькими Docker-контейнерами:
yc compute instance create-with-container \ --name my-vm \ --zone ru-central1-a \ --ssh-key ssh-key.pub \ --create-boot-disk size=30 \ --network-interface subnet-name=<имя_подсети>,nat-ip-version=ipv4 \ --service-account-name default-sa \ --docker-compose-file docker-compose.yaml
Где:
-
--name
— имя ВМ. -
--zone
— зона доступности. -
--ssh-key
— путь к файлу и имя файла с открытым ключом. -
--create-boot-disk size
— размер загрузочного диска.Чтобы узнать минимальный размер загрузочного диска, необходимый для установки образа, выполните команду:
yc compute image get-latest-from-family container-optimized-image --folder-id standard-images
— если устанавливаете образ Container Optimized Image;yc compute image get-latest-from-family container-optimized-image-gpu --folder-id standard-images
— если устанавливаете образ Container Optimized Image GPU.
Минимальный размер загрузочного диска указан в параметре
min_disk_size
. -
--network-interface
— сетевые настройки ВМ. -
--service-account-name
— имя сервисного аккаунта. -
--docker-compose-file
— YAML-файл со спецификацией контейнеров.
После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления
. -
-
Проверьте результат.
-
Посмотрите список запущенных Docker-контейнеров:
sudo docker ps -a
Результат:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c79b******** nginx "nginx -g 'daemon of…" 16 seconds ago Up 14 seconds 0.0.0.0:80->80/tcp nginx 3ac5******** redis "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 6379/tcp redis