Создание ВМ с Container Optimized Image
Создайте виртуальную машину из образа Container Optimized Image и запустите на ней Docker-контейнер.
Перед началом работы
Если нужный Docker-образ загружен в Yandex Container Registry, то создайте сервисный аккаунт с ролью container-registry.images.puller на используемый реестр. От его имени ВМ на базе Container Optimized Image будет скачивать из реестра Docker-образ.
Создайте ВМ с Docker-контейнером на базе образа Container Optimized Image
-
В консоли управления
выберите каталог, в котором будет создана ВМ. -
В списке сервисов выберите Compute Cloud.
-
На панели слева выберите
Виртуальные машины. -
Нажмите кнопку Создать виртуальную машину.
-
В блоке Образ загрузочного диска перейдите на вкладку Container Solution.
-
Нажмите кнопку Настроить.
-
В открывшемся окне Настройка Docker-контейнера задайте параметры, используя подсказки:
-
(Опционально) Введите Имя Docker-контейнера, который будет запущен на ВМ. Требования к имени:
- длина — от 2 до 63 символов;
- может содержать строчные буквы латинского алфавита, цифры и дефисы;
- первый символ — буква, последний — не дефис.
-
Укажите Docker-образ, на основе которого будет запущен Docker-контейнер на ВМ. Вы можете сделать это одним из способов:
- Выбрать один из доступных образов. Для этого начните вводить часть имени образа в поисковой строке. Поиск образов осуществляется во всех доступных каталогах облака.
- Указать имя образа вручную. Для этого нажмите Укажите ссылку и введите имя образа. Вы можете указать образ из сервиса Container Registry или любой публично доступной библиотеки Docker-образов (например, Docker Hub
).
-
(Опционально) В поле Команда укажите исполняемый файл, который будет запущен при старте Docker-контейнера.
-
(Опционально) Задайте Аргументы команды.
-
(Опционально) Задайте Переменные окружения, которые будут доступны внутри Docker-контейнера, в формате
ключ:значение
. -
Выберите значение поля Политика перезапуска для Docker-контейнера:
Always
— всегда перезапускать Docker-контейнер при его остановке.On-Failure
— перезапускать Docker-контейнер, только если он завершил работу с ненулевым кодом возврата.Never
— не перезапускать Docker-контейнер автоматически.
-
(Опционально) Включите Выделить TTY для Docker-контейнера, чтобы использовать командную оболочку внутри Docker-контейнера.
-
(Опционально) Включите Выделить буфер для потока ввода во время выполнения Docker-контейнера, чтобы связать поток ввода с запущенным Docker-контейнером.
-
(Опционально) Включите Запустить Docker-контейнер в привилегированном режиме, чтобы процессы Docker-контейнера получили доступ ко всем ресурсам ВМ.
-
-
Нажмите кнопку Применить.
-
Настройте остальные параметры ВМ по инструкции.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать ВМ и задать параметры Docker-контейнера через YC CLI:
-
Посмотрите описание команды:
yc compute instance create-with-container --help
-
Выполните команду:
yc compute instance create-with-container \ --name my-vm \ --zone ru-central1-b \ --ssh-key ssh-key.pub \ --service-account-name my-robot \ --create-boot-disk size=30 \ --public-ip \ --platform standard-v3 \ --container-name=my-app \ --container-image=cr.yandex/mirror/ubuntu:20.04 \ --container-command=sleep \ --container-arg="1000" \ --container-env=KEY1=VAL1,KEY2=VAL2 \ --container-privileged
Где:
-
--name
— имя ВМ. -
--zone
— зона доступности. -
--ssh-key
— содержимое файла открытого ключа. -
--service-account-name
— имя сервисного аккаунта. -
--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
. -
--public-ip
— выделение публичного IP-адреса для ВМ. -
--container-name
— имя Docker-контейнера. -
--container-image
— имя Docker-образа для запуска Docker-контейнера. -
--container-command
— команда, которая будет выполнена при запуске Docker-контейнера. -
--container-arg
— параметры для команды, указанной с помощью--container-command
. -
--container-env
— переменные окружения, доступные внутри Docker-контейнера. -
--container-privileged
— запуск Docker-контейнера в привилегированном режиме.
Результат:
done (17s) id: epdbf646ge5q******** folder_id: b1g88tflru0e******** created_at: "2023-03-13T09:44:03Z" name: my-vm ...
-
После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать ВМ и задать параметры Docker-контейнера с помощью файла спецификации:
-
Посмотрите описание команды:
yc compute instance create-with-container --help
-
Подготовьте файл спецификации Docker-контейнера. Сохраните следующие данные в файл
docker-spec.yaml
:spec: containers: - command: - sleep args: - 100000 image: cr.yandex/mirror/ubuntu:20.04 name: my-container securityContext: privileged: true
-
Выполните команду:
yc compute instance create-with-container \ --coi-spec-file docker-spec.yaml \ --name my-vm \ --zone ru-central1-b \ --ssh-key ssh-key.pub \ --create-boot-disk size=30 \ --service-account-name my-service-account \ --public-ip
Где:
-
--coi-spec-file
— путь к файлу спецификации Docker-контейнера. -
--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
. -
--service-account-name
— имя сервисного аккаунта. -
--public-ip
— выделение публичного IP-адреса для ВМ.
Результат:
done (1m40s) id: epde18u4mahl******** folder_id: b1g7gvsi89m3******** created_at: "2023-03-13T13:50:17Z" name: my-vm ...
-
После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления