Создание ВМ с Container Optimized Image и дополнительным томом для Docker-контейнера
В этой инструкции вы создадите виртуальную машину из образа Container Optimized Image, в которой будет Docker-контейнер с запущенным MongoDB и подключенным дополнительным томом объемом 10 ГБ.
Перед началом работы
Если нужный Docker-образ загружен в Yandex Container Registry, создайте сервисный аккаунт с ролью container-registry.images.puller на используемый реестр. От его имени ВМ на базе Container Optimized Image будет скачивать из реестра Docker-образ.
Создайте ВМ на базе образа Container Optimized Image и дополнительным томом для Docker-контейнера
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания ВМ:
yc compute instance create-with-container --help
-
Подготовьте спецификацию Docker Compose. Сохраните следующие данные в файл
docker-compose.yaml
:version: '3.4' services: app2: container_name: container-name image: "mongo:latest" ports: - "27017:27017" restart: always volumes: - /home/yc-user/coi-data:/data x-yc-disks: - device_name: coi-data fs_type: ext4 host_path: /home/yc-user/coi-data
При создании ВМ через CLI, создается пользователь по умолчанию —
yc-user
. -
Создайте ВМ с несколькими дисками:
yc compute instance create-with-container \ --name coi-vm \ --zone ru-central1-a \ --create-boot-disk size=30 \ --create-disk name=data-disk,size=10,device-name=coi-data \ --network-interface subnet-name=<имя_подсети>,nat-ip-version=ipv4 \ --ssh-key <путь_к_открытой_части_SSH-ключа> \ --docker-compose-file docker-compose.yaml
Где:
--name
— имя ВМ.--zone
— зона доступности.--create-boot-disk
— параметры диска ВМ. Размер диска должен быть не менее 30 ГБ.--network-interface
— параметры сети:subnet-name
— имя подсети, в которой будет размещена ВМ.nat-ip-version
— способ назначения публичного IPv4-адреса.
--ssh-key
— путь к файлу с открытым ключом.--docker-compose-file
— YAML-файл со спецификацией контейнера.
После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления
. -
Проверьте результат.
-
Получите идентификатор запущенного Docker-контейнера:
sudo docker ps -a
Результат:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f71******** mongo:latest "docker-entrypoint.s…" 5 minutes ago Up 5 minutes 27017/tcp container-name
-
Подключитесь к запущенному Docker-контейнеру:
sudo docker exec -it 1f71******** bash
-
Посмотрите список подключенных дисков. Обратите внимание на смонтированный диск
/dev/vdb 11G 24M 9.9G 1% /data
:df -H
Результат:
Filesystem Size Used Avail Use% Mounted on overlay 32G 4.0G 27G 14% / tmpfs 68M 0 68M 0% /dev ... tmpfs 1.1G 0 1.1G 0% /proc/acpi tmpfs 1.1G 0 1.1G 0% /proc/scsi tmpfs 1.1G 0 1.1G 0% /sys/firmware
Подробнее о работе с ВМ читайте в пошаговых инструкциях.