Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Практические руководства
    • Все руководства
    • Настройка подключения к Managed Service for PostgreSQL из контейнера Serverless Containers
    • Создать ВМ с Container Optimized Image
    • Создать ВМ с Container Optimized Image и дополнительным томом для Docker-контейнера
    • Создать группу ВМ с Container Optimized Image и несколькими Docker-контейнерами
    • Создать группу ВМ с Container Optimized Image
    • Создать ВМ с Container Optimized Image и несколькими Docker-контейнерами
    • Изменить ВМ с Container Optimized Image
    • Настройка вывода информации из Docker-контейнера в серийный порт

В этой статье:

  • Подготовьте облако к работе
  • Необходимые платные ресурсы
  • Подготовьте спецификацию ВМ
  • Подготовьте спецификацию Docker-контейнера
  • Получите идентификатор образа для создания ВМ
  • Создайте ВМ
  • Проверьте результат
  • Как удалить созданные ресурсы
  1. Контейнерная инфраструктура
  2. Настройка вывода информации из Docker-контейнера в серийный порт

Настройка вывода информации из Docker-контейнера в серийный порт

Статья создана
Yandex Cloud
Улучшена
mmerihsesh
Обновлена 21 апреля 2025 г.
  • Подготовьте облако к работе
    • Необходимые платные ресурсы
  • Подготовьте спецификацию ВМ
  • Подготовьте спецификацию Docker-контейнера
  • Получите идентификатор образа для создания ВМ
  • Создайте ВМ
  • Проверьте результат
  • Как удалить созданные ресурсы

Чтобы создать виртуальную машину из образа Container Optimized Image и настроить перенаправление потока вывода приложения в серийный порт ВМ:

  1. Подготовьте облако к работе.
  2. Подготовьте спецификацию ВМ.
  3. Подготовьте спецификацию Docker-контейнера.
  4. Получите идентификатор образа для создания ВМ.
  5. Создайте ВМ.
  6. Проверьте результат.

Если созданные ресурсы вам больше не нужны, удалите их.

Подготовьте облако к работеПодготовьте облако к работе

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

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

По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.

Если у вас еще нет сети или подсети, создайте их.

Необходимые платные ресурсыНеобходимые платные ресурсы

В стоимость поддержки инфраструктуры входит:

  • Плата за постоянно запущенную ВМ (см. тарифы Yandex Compute Cloud).
  • Плата за использование динамического или статического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).

Подготовьте спецификацию ВМПодготовьте спецификацию ВМ

CLI

Чтобы подготовить спецификацию ВМ, создайте файл cloud-config-ports.yaml и заполните его следующими данными:

#cloud-config
runcmd:
- [ sudo, chmod, 666, /dev/ttyS1]
users:
- name: <имя_пользователя>
  groups: sudo
  shell: /bin/bash
  sudo: 'ALL=(ALL) NOPASSWD:ALL'
  ssh_authorized_keys:
  - <публичный_SSH-ключ_для_подключения_к_ВМ>

В конфигурации файла задайте имя пользователя и укажите публичную часть SSH-ключа для подключения к ВМ. Пару ключей для подключения по SSH необходимо создать самостоятельно.

Подготовьте спецификацию Docker-контейнераПодготовьте спецификацию Docker-контейнера

CLI

Чтобы подготовить спецификацию Docker-контейнера, создайте файл container-spec-ports.yaml и заполните его следующими данными:

spec:
containers:
- image: ubuntu
  name: app
  command: ["/bin/bash", "-c", "sleep 30 && echo 'Hello World!' > /dev/ttyS1"]
  securityContext:
    privileged: true
    stdin: false
    tty: false
    volumeMounts:
    - mountPath: /dev/ttyS1
      name: log-port
  restartPolicy: Always
  volumes:
  - name: log-port
    hostPath:
      path: /dev/ttyS1
  1. Создайте ВМ с несколькими дисками.
    1. Получите идентификатор образа для создания ВМ:

      Bash
      PowerShell
      IMAGE_ID=$(yc compute image get-latest-from-family container-optimized-image --folder-id standard-images --format=json | jq -r .id)
      
      > $IMAGE_ID=(yc compute image get-latest-from-family container-optimized-image --folder-id standard-images --format=json | ConvertFrom-Json).id
      
    2. Создайте ВМ:

      yc compute instance create \
        --name coi-vm-with-sp \
        --zone ru-central1-a \
        --network-interface subnet-name=<имя_подсети>,nat-ip-version=ipv4 \
        --metadata-from-file user-data=cloud-config-ports.yaml,docker-container-declaration=container-spec-ports.yaml \
        --create-boot-disk image-id=$IMAGE_ID
      

      Где:

      • --name — имя ВМ.

      • --zone — зона доступности.

      • --network-interface — сетевые настройки ВМ.

      • --metadata-from-file — YAML-файлы метаданных для создания ВМ.

        Примечание

        Команды yc compute instance create | create-with-container | update | add-metadata поддерживают подстановку в метаданные ВМ значений переменных окружения. Эти значения, заданные в ключе user-data в формате $<имя_переменной>, в момент выполнения команды Yandex Cloud CLI будут подставлены в метаданные ВМ из переменных окружения среды, в которой выполняется команда.

        Чтобы изменить такое поведение, не подставлять значение переменной из среды выполнения команды CLI и передать в метаданные ВМ имя переменной в формате $<имя_переменной>, используйте синтаксис с двумя символами доллара. Например: $$<имя_переменной>.

        Подробнее см. в разделе Особенности передачи переменных окружения в метаданных через CLI.

      • --create-boot-disk — идентификатор образа для создания загрузочного диска.

      После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления.

    3. Проверьте результат.

      1. В консоли управления перейдите на страницу каталога и выберите сервис Compute Cloud.
      2. Нажмите на имя нужной ВМ coi-vm-with-sp.
      3. В блоке Последовательный порт выберите порт COM2. Через несколько минут на экран начнет выводиться Hello world!.

Получите идентификатор образа для создания ВМПолучите идентификатор образа для создания ВМ

Чтобы получить идентификатор последнего образа для создания ВМ, выполните:

Linux (Bash)
Windows (PowerShell)
IMAGE_ID=$(yc compute image get-latest-from-family container-optimized-image \
  --folder-id standard-images \
  --format=json | jq -r .id)
$IMAGE_ID=(yc compute image get-latest-from-family container-optimized-image `
  --folder-id standard-images `
  --format=json | ConvertFrom-Json).id

Создайте ВМСоздайте ВМ

CLI

Задайте имя подсети, в которой будет создаваться ВМ, и выполните:

yc compute instance create \
  --name coi-vm-with-sp \
  --zone ru-central1-d \
  --network-interface subnet-name=<имя_подсети>,nat-ip-version=ipv4 \
  --metadata-from-file user-data=cloud-config-ports.yaml,docker-container-declaration=container-spec-ports.yaml \
  --create-boot-disk image-id=$IMAGE_ID

Где:

  • --name — имя ВМ.
  • --zone — зона доступности.
  • --network-interface — сетевые настройки ВМ.
  • --metadata-from-file — YAML-файлы метаданных для создания ВМ.
  • --create-boot-disk — идентификатор образа для создания загрузочного диска.

После создания ВМ появится в списке ВМ в разделе Compute Cloud в консоли управления.

Проверьте результатПроверьте результат

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

  1. В консоли управления перейдите на страницу каталога и выберите сервис Compute Cloud.
  2. Нажмите на имя нужной ВМ coi-vm-with-sp.
  3. В блоке Последовательный порт выберите порт COM2. Через несколько минут на экран начнет выводиться Hello world!.

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

Как удалить созданные ресурсыКак удалить созданные ресурсы

Чтобы перестать платить за созданные ресурсы:

  1. Удалите ВМ.
  2. Если вы зарезервировали для ВМ публичный статический IP-адрес, удалите его.

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

Предыдущая
Изменить ВМ с Container Optimized Image
Следующая
Создание нового Kubernetes-проекта
Проект Яндекса
© 2025 ООО «Яндекс.Облако»