如何将LXD容器Ubuntu镜像从16.04更新到18.04
我在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 16.04 LTS镜像升级到18.04 LTS镜像。
如何更新LXD容器
升级名为utls-www的LXD容器Ubuntu镜像的过程如下:
- 登录到您的Ubuntu容器,运行:
lxc exec utls-www bash
- 更新Ubuntu Linux软件,运行:
apt update && apt upgrade
- 制作Ubuntu Linux容器快照,运行:
lxc snapshot utls-www
- 最后,将LXD容器Ubuntu镜像从16.04更新到18.04,运行:
lxc exec utls-www-script/dev/null -c do-release-upgrade
升级LXD容器Ubuntu镜像的命令
让我们详细查看所有命令。
步骤1登录到Ubuntu容器
要列出当前正在运行的Linux容器,请运行:
$ lxc list
获得对名为utls-www的容器的root shell访问,运行:
$ lxc exec utls-www bash
步骤2更新utls-www容器镜像
升级之前,必须先安装发行版的所有可用更新,然后运行apt命令:
# apt update # apt upgrade
记下您的Ubuntu Linux容器版本,然后返回主机:
# lsb_release -a # exit
步骤3创建容器快照
为了备份目的,创建容器快照,运行:
$ lxc snapshot utls-www $ lxc info utls-www
步骤4将Ubuntu Linux容器镜像从16.04 LTS升级到18.04
现在,我们为utls-www容器备份了。
现在该开始升级过程了。
运行do-release-upgrade命令,如下所示:
$ lxc exec utls-www -- script /dev/null -c do-release-upgrade
按[Enter]键。
你想继续吗?
您是否要继续升级Ubuntu Linux容器镜像?
系统可能会提示您替换或者保留现有的配置文件。
例如,我将utls-www用于Nginx/PHP-fmp服务。
出现提示时,我将保留nginx.conf和其他配置文件:
默认操作是保留当前版本。
我将通过按N或者O保留我当前安装的版本
Ubuntu Linux容器镜像升级已完成。
您要重新启动Linux容器吗?
您也可以手动重新启动容器:
$ lxc restart utls-www
步骤5验证
现在,我们的utls-www Linux容器镜像已更新为最新版本的Ubuntu。
现在是时候验证一切是否按预期进行。
登录到您的容器:
$ lxc exec utls-www bash
要在Ubuntu Linux中查找操作系统版本,请运行:
# lsb_release -a
在ss命令/netstat命令和grep命令/egrep命令的帮助下,验证所有服务是否正在运行并且端口是否打开:
# ss -tulpn # ps aux # tail -f /var/log/nginx/error.log # grep 'something' /var/log/nginx/www.theitroad.local_access.log # egrep -i 'err|crit|warn' /var/log/nginx/www.theitroad.local_error.log