如何将LXD容器Ubuntu映像从16.04更新到18.04

时间:2019-04-29 03:17:16  来源:igfitidea点击:

问题描述

我在Ubuntu Linux 16.04 LTS lxd Linux容器中运行我的应用程序。为了将Ubuntu 16.04升级到18.04 LTS容器,运行了do-release-upgrade命令,但是报错“Must be connected to a terminal”。
如何修复这个问题,从Ubuntu Linux 16.04升级到18.04映像?

由Ubuntu团队支持和创建的LXD容器管理程序提供了比ESX快25%的性能。

如何更新LXD容器

登录到Ubuntu容器

如何查看当前运行的linux容器

$ lxc list

如何登录到linux容器utls-www

$ lxc exec utls-www bash

如何更新linux容器utls-www的镜像

必须在升级前安装所有可用的更新,

# apt update
# apt upgrade

同时记下当前容器中系统的版本号,然后退出容器

# lsb_release -a
# exit

如何创建linux容器快照

然后创建一个容器快照用作备份。

$ lxc snapshot utls-www
$ lxc info utls-www

如何将LXD容器Ubuntu映像从16.04更新到18.04

开始升级过程

$ lxc exec utls-www -- script /dev/null -c do-release-upgrade

升级过程中,可能会提示您是否替换或者保留现有的配置文件。

最后升级完成后,会问是否重启容器。你也可以手动重启:

$ lxc restart utls-www

检查升级是否成功

现在我们的utls-www Linux容器镜像已经升级到最新版本的Ubuntu。

登录到容器,检查容器的系统版本

$ lxc exec utls-www bash
# lsb_release -a

检查服务和端口是否正常

# ss -tulpn
# ps aux |grep nginx
# tail -f /var/log/nginx/error.log
# grep 'something' /var/log/nginx/access.log
# egrep -i 'err|crit|warn' /var/log/nginx/error.log