1. 下载镜像
需要一台机器通互联网,安装有docker
docker pull registry.cn-beijing.aliyuncs.com/supermap/common-dashboard-api:11.1.1-240802-amd64
注:iManager的镜像label有架构标识可以直接拉取,label 没区分架构的,如在 x64 环境 pull arm64 镜像可以通过 --platform=arm64 参数可以实现
如在x64环境下pull arm64的mariadb镜像
docker pull mariadb:10.5.26 --platform=arm64 # 指定拉取arm64架构
docker run --rm -it --entrypoint=/bin/bash 35c097abb70e # 不启动容器,直接进入Docker镜像里执行命令
如图,在 x64 机器上拉取了 arm64 的 mariadb 镜像,如不指定 platform 则默认拉取的是当前服务器架构的镜像
2. 导出镜像
这一步是为了导出离线包,拷贝到内网导入
docker save -o common-dashboard-api-11.1.1-240802-amd64.tar.gz registry.cn-beijing.aliyuncs.com/supermap/common-dashboard-api:11.1.1-240802-amd64
# registry.cn-beijing.aliyuncs.com/supermap/common-dashboard-api:11.1.1-240802-amd64 可替换为image_id 但是load后没有label 不建议使用
3. 导入image
将第2步的tar包拷贝到内网任意一台k8s集群服务器的任意目录,注意磁盘空间,建议放到部署docker私有仓库的服务器上
docker load -i common-dashboard-api-11.1.1-240802-amd64.tar.gz
4. 标记image
目的是为了将下载导入的镜像的标记l修改为私有仓库的名称
docker tag registry.cn-beijing.aliyuncs.com/supermap/common-dashboard-api:11.1.1-240802-amd64 仓库IP:5000/supermap/common-dashboard-ui:11.1.1-240802-amd64
5. push 镜像到仓库
docker push 仓库IP:5000/common-dashboard-api:11.1.1-240802-amd64
每个节点都 pull 一下新镜像
docker pull 仓库IP:5000/common-dashboard-api:11.1.1-240802-amd64
6. 修改 iManager镜像为新的镜像地址
访问 iManager 31100 端口,找到云套件内的dashboard-api,点击修改镜像,修改为新的地址,点击确定后,会使用新镜像创建 pod。
参数说明:
- 镜像名:服务所用镜像的名称。格式为:镜像仓库/命名空间/镜像名:版本号。
- 拉取策略:选择该服务拉取镜像的策略,默认为 IfNotPresent。有三种镜像拉取策略,分别为Always(总是从镜像仓库拉取最新镜像)、IfNotPresent(如果本地有可用镜像,使用本地镜像,否则从镜像仓库拉取)和Never(使用本地镜像,不从镜像仓库拉取镜像),用户可根据需求选择。
- 拉取密钥:命名空间的密钥,默认情况下没有密钥,需要用户创建。创建密钥后,需要配置拉取密钥才能拉取命名空间中的镜像。