Изменить ВМ с Container Optimized Image
Статья создана
Обновлена 9 января 2024 г.
Измените параметры Docker-контейнера на виртуальной машине, созданной из образа Container Optimized Image.
Консоль управления
CLI
- В консоли управления
выберите каталог, в котором была создана ВМ. - В списке сервисов выберите Compute Cloud.
- Нажмите на строку с ВМ, которую вы хотите изменить.
- Нажмите кнопку Изменить ВМ на верхней панели.
- Внесите необходимые изменения в блоке Настройка Docker-контейнера.
- Нажмите Сохранить изменения.
-
Посмотрите описание команды CLI для обновления ВМ:
yc compute instance update-container --help
-
Получите уникальный идентификатор ВМ. Для этого нажмите на строку с ее именем в разделе Compute Cloud в консоли управления
или воспользуйтесь командой CLI:yc compute instance list
Результат:
+----------------------+-------+-------------------+---------+----------------------------------+-------------+ | ID | NAME | ZONE ID | STATUS | EXTERNAL IP | INTERNAL IP | +----------------------+-------+-------------------+---------+----------------------------------+-------------+ | epdbf646ge5q******** | my-vm | ru-central1-b | RUNNING | 84.201.155.117 | 172.18.0.21 | +----------------------+-------+-------------------+---------+----------------------------------+-------------+
-
Обновите ВМ.
В зависимости от способа создания ВМ, есть несколько способов обновления:
Способ создания Обновить с помощью --container-image
Обновить с помощью --docker-compose-file
С помощью параметров --container-*
Старый Docker-контейнер удаляется, создается новый Docker-контейнер. Старый Docker-контейнер удаляется, создаются новые Docker-контейнеры (описанные в docker-compose.yaml файле). С помощью спецификации в файле docker-compose.yaml Старые Docker-контейнеры (описанные в docker-compose.yaml файле) удаляются, создается новый, описанный с помощью параметров --container-*
Создаются только новые (добавленные в docker-compose.yaml файл) или измененные Docker-контейнеры. Удаляются Docker-контейнеры, отсутствующие в новом в docker-compose.yaml файле. -
Обновите ВМ, задав новые параметры:
yc compute instance update-container epdbf646ge5q******** \ --container-name=my_vm_new_version \ --container-image=cr.yandex/mirror/ubuntu:18.04 \ --container-env=KEY1=VAL1,KEY2=VAL2 \ --remove-container-env=KEY3 \ --container-stdin=false \ --container-restart-policy=Never
Где:
--container-name
— имя Docker-контейнера.--container-image
— имя Docker-образа для запуска Docker-контейнера.--container-env
— переменные окружения, доступные внутри Docker-контейнера.--remove-container-env
— исключение переменных окружения, ключи которых указаны в параметре.--container-command
— команда, которая будет выполнена при запуске Docker-контейнера.--container-stdin
— выделение буфера для потока ввода во время выполнения Docker-контейнера.--container-restart-policy
— параметры для команды, указанной с помощью--container-command
.--container-privileged
— запуск Docker-контейнера в привилегированном режиме.
Результат:
done (2s) id: epdbf646ge5q******** folder_id: b1g88tflru0e******** created_at: "2023-03-13T09:44:03Z" name: my-vm ...
-
Обновите ВМ, указав спецификацию нескольких Docker-контейнеров:
yc compute instance update-container epdbf646ge5q******** --docker-compose-file=<путь_к_файлу>
Где
--docker-compose-file
— путь к файлу со спецификацией Docker-контейнеров.Результат:
done (2s) id: fhma9omhj2e7******** folder_id: b1g88tflru0e******** created_at: "2023-03-13T17:08:48Z" name: coi-vm ...
-