LXD / LXC: понимание изображений и обновление

Я хотел бы понять, в чем разница между получением нового базового изображения (например, Ubuntu 16.04) и обновлением запущенных контейнеров.

Нужно ли мне обновлять контейнеры самостоятельно или я могу полагаться на изображение обновляется? Или это развязано, как только контейнер создается?

Я уже обновлял их до сих пор.

1
задан 16 June 2017 в 14:50

2 ответа

Я понимаю, что этот ответ приходит поздно, но я расскажу, что мой (ограниченный) опыт работы с LXD / LXC был до сих пор.

Нужно ли мне обновлять контейнеры самостоятельно или Я полагаюсь на обновляемое изображение? Или это развязано, как только контейнер создается?

Помните, что контейнер представляет собой экземпляр, основанный на изображении. Однако обновление контейнера (например, запуск sudo apt-get install <package-name>) не будет обновлять изображение; только контейнер.

В этом смысле контейнер и изображение становятся «развязанными» (я бы сказал «не синхронизирован»). Если вы хотите получить изображение с изменениями, внесенными вами в контейнер, то, как мне кажется, вам нужно сделать снимок контейнера. Например:

lxc snapshot <container-name> <snapshot-name>

Удобный способ сделать это - пометить их по дате, чтобы вы могли более легко определить, какие снимки использовать. Например, это способ, которым я это делаю:

tag=$(date +%g.%m.%d-%H%M) lxc snapshot <container> <snapshot>-$tag

То, что я думаю, вы получите из нового / недавнего базового изображения (например, ubuntu:lts/amd64), это просто такие вещи, как последние версии пакетов, обновления для системы безопасности и т. д.

Это наблюдение связано с моим опытом по установке Ubuntu из ISO, загруженного с сайта (который начинается с более 50 устаревших пакетов, которые необходимо обновить, на время написания), а также базовые изображения, которые, как представляется, уже применяют обновления.

Как сказано, при запуске контейнера из указанного базового изображения потребуется переустановка всей вашей настраиваемой конфигурации, пакетов , и другие изменения и т. д.

0
ответ дан 18 July 2018 в 11:33

Я понимаю, что этот ответ приходит поздно, но я расскажу, что мой (ограниченный) опыт работы с LXD / LXC был до сих пор.

Нужно ли мне обновлять контейнеры самостоятельно или Я полагаюсь на обновляемое изображение? Или это развязано, как только контейнер создается?

Помните, что контейнер представляет собой экземпляр, основанный на изображении. Однако обновление контейнера (например, запуск sudo apt-get install <package-name>) не будет обновлять изображение; только контейнер.

В этом смысле контейнер и изображение становятся «развязанными» (я бы сказал «не синхронизирован»). Если вы хотите получить изображение с изменениями, внесенными вами в контейнер, то, как мне кажется, вам нужно сделать снимок контейнера. Например:

lxc snapshot <container-name> <snapshot-name>

Удобный способ сделать это - пометить их по дате, чтобы вы могли более легко определить, какие снимки использовать. Например, это способ, которым я это делаю:

tag=$(date +%g.%m.%d-%H%M) lxc snapshot <container> <snapshot>-$tag

То, что я думаю, вы получите из нового / недавнего базового изображения (например, ubuntu:lts/amd64), это просто такие вещи, как последние версии пакетов, обновления для системы безопасности и т. д.

Это наблюдение связано с моим опытом по установке Ubuntu из ISO, загруженного с сайта (который начинается с более 50 устаревших пакетов, которые необходимо обновить, на время написания), а также базовые изображения, которые, как представляется, уже применяют обновления.

Как сказано, при запуске контейнера из указанного базового изображения потребуется переустановка всей вашей настраиваемой конфигурации, пакетов , и другие изменения и т. д.

0
ответ дан 24 July 2018 в 19:48

Другие вопросы по тегам:

Похожие вопросы: