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 и несколькими Docker-контейнерами

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

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

В этой инструкции вы создадите виртуальную машину из образа Container Optimized Image с несколькими Docker-контейнерами внутри. Для создания ВМ будет использована Docker Compose спецификация.

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

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

Создайте ВМ с несколькими Docker-контейнерами

CLI

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

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

Чтобы создать ВМ на базе образа Container Optimized Image и несколькими Docker-контейнерами.

  1. Посмотрите описание команды CLI для создания ВМ на базе образа Container Optimized Image:

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

    version: '3.7'
    services:
      app1:
        container_name: nginx
        image: "nginx"
        ports:
          - "80:80"
        restart: always
      app2:
        container_name: redis
        image: "redis"
        restart: always
    
  3. Создайте ВМ с несколькими Docker-контейнерами:

    yc compute instance create-with-container \
      --name my-vm \
      --zone ru-central1-a \
      --ssh-key ssh-key.pub \
      --network-interface subnet-name=<имя подсети>,nat-ip-version=ipv4 \
      --service-account-name default-sa \
      --docker-compose-file docker-compose.yaml
    

    Где:

    • --name — имя ВМ.
    • --zone — зона доступности.
    • --ssh-key — содержимое файла открытого ключа.
    • --network-interface — сетевые настройки ВМ.
    • --service-account-name — имя сервисного аккаунта.
    • --docker-compose-file — YAML-файл со спецификацией контейнеров.

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

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

    1. Подключитесь к ВМ по SSH.

    2. Посмотрите список запущенных Docker-контейнеров:

      sudo docker ps -a
      

      Результат:

      CONTAINER ID  IMAGE  COMMAND                 CREATED         STATUS         PORTS               NAMES
      c79b1cdc5a3a  nginx  "nginx -g 'daemon of…"  16 seconds ago  Up 14 seconds  0.0.0.0:80->80/tcp  nginx
      3ac5a9844a5d  redis  "docker-entrypoint.s…"  2 minutes ago   Up 2 minutes   6379/tcp            redis
      

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

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