将 Lenovo XClarity Administrator 作为 Docker 容器运行时,请按照此更新过程将最新软件安装为新容器,并将原始容器的卷绑定到新容器。
开始之前
将 XClarity Administrator 作为容器从 v4.0 更新到 v4.1 时,需要使用特殊的更新脚本来使特定的非持久性文件持久化。
更新完成后,日志级别会恢复为默认值。
确保主机系统上存在非根 Linux 用户,并且该非根用户可以运行 Docker 命令。如果没有,请通过运行以下命令将用户添加到 Docker 组:
bash
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
docker ps
关于本任务
XClarity Administrator不是 作为特权容器运行。
过程
要更新 XClarity Administrator 容器,请完成以下步骤。
- 切换到 Docker 组中的非根用户。
- 将 XClarity Administrator 容器镜像文件(do-container-update.sh、docker-compose.env、docker-compose.yml、lnvgy_sw_lxca_ *.tar.gz)从 XClarity Administrator 下载 Web 页面下载到本地系统中的新目录下。登录到该网站,然后使用提供给您的访问密钥下载该映像。
- 通过运行以下命令将 XClarity Administrator 容器镜像导入 Docker 主机。
docker load -i <CONTAINER-IMAGE-FILENAME>
例如:
docker load -i lnvgy_sw_lxca_110-4.1.0_anyos_noarch
- 编辑新 的 docker-compose.env 文件,更新以下环境变量以匹配原 docker-compose.env 文件中的值。
以下是一个示例环境文件。
CONTAINER_NAME="LXCA-400"
ADDRESS="192.0.2.0"
BACKUP_MOUNT="/mnt/backup_share"
FIRMWARE_MOUNT="/mnt/fw_share"
- 编辑新 的 docker-compose.yml 文件。将文件顶部的镜像属性更新为新 Docker 镜像的文件名,并更新网络配置设置(子网、网关和 DNS),以匹配原 docker-compose.yml 文件中的值。
以下是示例 yml 文件。
version: '3.8'
services:
lxca:
image: lenovo/lxca:4.1.0-124
container_name: ${CONTAINER_NAME}
tty: true
stop_grace_period: 60s
volumes:
#bind mount example
- /home/<HOST_MOUNT_POINT_FOR_BACKUP>:${BACKUP_MOUNT}
- /home/<HOST_MOUNT_POINT_FOR_FW_SHARE>:${FIRMWARE_MOUNT}
#docker volume mount
- data:/opt/lenovo/lxca/data
- postgresql:/var/lib/postgresql
- log:/var/log
- confluent-etc:/etc/confluent
- confluent-log:/var/log/confluent
- confluent:/var/lib/confluent
- propconf:/opt/lenovo/lxca/bin/conf
- ssh:/etc/ssh
- xcat:/etc/xcat
networks:
lan:
ipv4_address: ${ADDRESS}
dns: 192.0.30.10
192.0.30.11
deploy:
resources:
limits:
cpus: "2.0"
memory: "8g"
volumes:
data:
name: ${CONTAINER_NAME}-data
postgresql:
name: ${CONTAINER_NAME}-postgresql
log:
name: ${CONTAINER_NAME}-log
confluent-etc:
name: ${CONTAINER_NAME}-confluent-etc
confluent-log:
name: ${CONTAINER_NAME}-confluent-log
confluent:
name: ${CONTAINER_NAME}-confluent
propconf:
name: ${CONTAINER_NAME}-propconf
ssh:
name: ${CONTAINER_NAME}-ssh
xcat:
name: ${CONTAINER_NAME}-xcat
networks:
lan:
name: lan
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.0.0.0/19
gateway: 192.0.30.1
- 通过运行以下命令升级 Docker 中的容器镜像,其中 <ORIGINAL-CONTAINER-IMAGE-PATH> 是原容器文件所在的位置,<NEW-CONTAINER-IMAGE-PATH> 是在步骤 2 中下载的新容器镜像文件所在的位置:
bash do-container-update.sh <ORIGINAL-CONTAINER-IMAGE-PATH> <NEW-CONTAINER-IMAGE-PATH>
例如:
bash do-container-update.sh /home/$USER/lxca-400 /home/$USER/lxca-410
升级过程中会提示输入 sudo 命令的密码。必须输入密码才能继续。