Создание ВМ с 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-контейнера, который будет запущен на ВМ. Требования к имени:
- длина — от 3 до 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
— размер загрузочного диска. Должен быть не менее 30 ГБ.--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
— размер загрузочного диска. Должен быть не менее 30 ГБ.--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 в консоли управления