Yandex Cloud
  • Сервисы
  • Решения
  • Почему Yandex Cloud
  • Сообщество
  • Тарифы
  • Документация
  • Связаться с нами
Подключиться
Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
Yandex Container Solution
  • Сопоставление с другими сервисами Yandex Cloud
  • Начало работы
  • Практические руководства
    • Все руководства
    • Создать ВМ с Container Optimized Image
    • Создать ВМ с Container Optimized Image и дополнительным томом для Docker-контейнера
    • Создать ВМ с Container Optimized Image и несколькими Docker-контейнерами
    • Создать группу ВМ с Container Optimized Image
    • Создать группу ВМ с Container Optimized Image и несколькими Docker-контейнерами
    • Изменить ВМ с Container Optimized Image
    • Настройка вывода информации из Docker-контейнера в серийный порт
    • Создать ВМ и группу ВМ с Container Optimized Image с помощью Terraform
    • Передача логов с COI в Cloud Logging
  • Концепции
    • Образ Container Optimized Image
    • Особенности работы с загрузочным диском
    • Особенности работы с сетью
    • Docker-образ
    • Политики перезапуска Docker-контейнера
    • Спецификации Docker-контейнера
    • Квоты и лимиты
  • Релизы COI
  • Правила тарификации
  • Вопросы и ответы
  • Решение проблем
  1. Практические руководства
  2. Создать ВМ с Container Optimized Image

Создание ВМ с Container Optimized Image

Статья создана
Yandex Cloud
  • Перед началом работы
  • Создайте ВМ с Docker-контейнером на базе образа Container Optimized Image

Создайте виртуальную машину из образа Container Optimized Image и запустите на ней Docker-контейнер.

Перед началом работы

Если нужный Docker-образ загружен в Yandex Container Registry, то создайте сервисный аккаунт с ролью container-registry.images.puller на используемый реестр. От его имени ВМ на базе Container Optimized Image будет скачивать из реестра Docker-образ.

Создайте ВМ с Docker-контейнером на базе образа Container Optimized Image

Консоль управления
CLI с помощью флагов
CLI с помощью файла спецификации
  1. В консоли управления выберите каталог, в котором будет создана ВМ.
  2. В списке сервисов выберите Compute Cloud.
  3. Нажмите кнопку Создать ВМ.
  4. В блоке Выбор образа/загрузочного диска перейдите на вкладку Container Solution.
  5. Нажмите кнопку Настроить.
  6. В открывшемся окне Настройка Docker-контейнера задайте параметры, используя подсказки:
    • (опционально) Введите Имя Docker-контейнера, который будет запущен на ВМ. Требования к имени:
      • Длина — от 3 до 63 символов.
      • Может содержать буквы латинского алфавита, цифры и дефисы.
      • Первый символ — буква. Последний символ — не дефис.
    • Укажите Docker-образ, на основе которого будет запущен Docker-контейнер на ВМ. Вы можете сделать это одним из способов:
      • Выбрать один из доступных образов. Для этого начните вводить часть имени образа в поисковой строке. Поиск образов осуществляется во всех доступных каталогах облака.
      • Указать имя образа вручную. Для этого нажмите Укажите ссылку и введите имя образа. Вы можете указать образ из сервиса Container Registry или любой публично доступной библиотеки Docker-образов (например, Docker Hub).
    • (опционально) В поле Команда укажите исполняемый файл, который будет запущен при старте Docker-контейнера.
    • (опционально) Задайте Аргументы команды.
    • (опционально) Задайте Переменные окружения в формате ключ:значение, доступные внутри Docker-контейнера.
    • Выберите значение поля Политика перезапуска для Docker-контейнера:
      • Always — всегда перезапускать Docker-контейнер при его остановке.
      • Never — не перезапускать Docker-контейнер автоматически.
      • On-Failure — перезапускать Docker-контейнер, только если он завершил работу с ненулевым кодом возврата.
    • (опционально) Включите Выделить TTY для Docker-контейнера, чтобы использовать командную оболочку внутри Docker-контейнера.
    • (опционально) Включите Выделить буфер для потока ввода во время выполнения Docker-контейнера, чтобы связать поток ввода с запущенным Docker-контейнером.
    • (опционально) Включите Запустить Docker-контейнер в привилегированном режиме, чтобы процессы Docker-контейнера получили доступ ко всем ресурсам ВМ.
      Нажмите кнопку Применить.
  7. Задайте остальные параметры ВМ по инструкции.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы создать ВМ и задать параметры Docker-контейнера через YC CLI:

  1. Посмотрите описание команды:

    yc compute instance create-with-container --help
    
  2. Выполните команду:

    yc compute instance create-with-container \
      --name my-vm \
      --zone ru-central1-b \
      --ssh-key ssh-key.pub \
      --service-account-name my-robot \
      --public-ip \
      --platform standard-v3
      --container-name=my-app \
      --container-image=cr.yandex/mirror/ubuntu:16.04 \
      --container-command=sleep \
      --container-arg="1000" \
      --container-env=KEY1=VAL1,KEY2=VAL2 \
      --container-privileged
    

    Где:

    • --name — имя ВМ.
    • --zone — зона доступности.
    • --ssh-key — содержимое файла открытого ключа.
    • --service-account-name — имя сервисного аккаунта.
    • --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: epdbf646ge5qgutfvh43
     folder_id: b1g88tflru0ek1omtsu0
     created_at: "2019-08-07T09:44:03Z"
     name: my-vm
     zone_id: ru-central1-b
     platform_id: standard-v3
    ...
    

После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления. Подробнее о работе с ВМ читайте в пошаговых инструкциях.

Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.

По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name или --folder-id.

Чтобы создать ВМ и задать параметры Docker-контейнера с помощью файла спецификации:

  1. Посмотрите описание команды:

    yc compute instance create-with-container --help
    
  2. Подготовьте файл спецификации Docker-контейнера. Сохраните следующие данные в файл docker-spec.yaml:

    spec:
      containers:
      - command:
        - sleep
        args:
        - 100000
        image: cr.yandex/mirror/ubuntu:20.04
        name: my-container
        securityContext:
         privileged: true
    
  3. Выполните команду:

    yc compute instance create-with-container \
      --coi-spec-file docker-spec.yaml \
      --name my-vm \
      --zone ru-central1-b \
      --ssh-key ssh-key.pub \
      --service-account-name my-service-account \
      --public-ip
    

    Где:

    • --coi-spec-file — путь к файлу спецификации Docker-контейнера.
    • --name — имя ВМ.
    • --zone — зона доступности.
    • --ssh-key — содержимое файла открытого ключа.
    • --service-account-name — имя сервисного аккаунта.
    • --public-ip — выделение публичного IP-адреса для ВМ.

    Результат:

    done (1m40s)
     id: epde18u4mahl4a8n39ta
     folder_id: b1g7gvsi89m34qmcm3ke
     created_at: "2020-08-10T13:50:17Z"
     name: my-vm
     zone_id: ru-central1-b
     platform_id: standard-v2
     ...
    

После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления. Подробнее о работе с ВМ читайте в пошаговых инструкциях.

Была ли статья полезна?

Language / Region
Проект Яндекса
© 2023 ООО «Яндекс.Облако»
В этой статье:
  • Перед началом работы
  • Создайте ВМ с Docker-контейнером на базе образа Container Optimized Image