创建JDK8基础镜像并上传至SWR
场景概述
在项目中,我们通常基于相同的基础镜像创建镜像。本章节将以JDK8基础镜像为例,介绍如何在CCE节点上创建JDK8基础镜像并上传至SWR。
操作步骤
- 购买一个CCE集群。
- 创建CCE节点。
集群创建成功后,您还需要在集群中创建运行工作负载的节点。CCE节点默认安装了Linux操作系统和Docker。我们可以用它创建基础镜像。
在下面的步骤中,我们将以Centos7.6为例,详细介绍如何创建JDK8基础镜像,并将它上传到SWR。
- 登录CCE控制台。
- 单击1中创建的集群,进入集群控制台。
- 在左侧菜单栏选择节点管理,进入节点页签,单击右上角“创建节点”,在弹框中配置节点的参数。
- 在网络配置中,选择“自动创建”1个弹性公网IP,带宽为5Mbit/s。
图1 网络配置
- 单击“下一步: 规格确认”。
- 查看节点规格无误后,阅读页面上的使用说明,勾选“我已阅读并知晓上述使用说明和《云容器引擎服务声明》”,单击“提交”。
等待节点创建成功。创建成功后在节点管理下会显示一个运行中的节点。
图2 CCE节点示例
- 下载JDK软件包。
- 构建一个镜像。
- 执行vi dockerfile命令,编写一个Dockerfile,并写入以下信息:
FROM centos #使用centos作为基础镜像 RUN useradd -d /home/springboot -m springboot #在工作目录下创建一个用户 ADD ./openlogic-openjdk-8u352-b08-linux-x64.tar.gz /home/springboot #拷贝jdk软件包到镜像,并自动解压 RUN chown springboot:springboot /home/springboot/openlogic-openjdk-8u352-b08-linux-x64 -R USER springboot #指定用户为springboot ENV JAVA_HOME=/home/springboot/openlogic-openjdk-8u352-b08-linux-x64 #设置环境变量 ENV PATH=$JAVA_HOME/bin:$PATH \ CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar WORKDIR /home/springboot/ #指定镜像的工作目录
- 按ESC,输入:wq,保存Dockerfile,并退出编辑。
- 执行下面的命令,构建一个镜像。
- 使用docker images命令,查看镜像是否构建成功。
图3 查看镜像是否创建成功
- 执行vi dockerfile命令,编写一个Dockerfile,并写入以下信息:
- 登录容器镜像服务控制台,并创建一个组织。
示例:这里我们创建一个名为testawa0306的组织。
- 上传镜像到5的组织下。
- 以root用户登录容器镜像服务控制台。
- 为镜像打标签。
示例如下:docker tag openjdk:8 swr.cn-north-4.myhuaweicloud.com/testawa0306/0penjdk:v8.8
- 上传镜像到步骤5的组织下。
docker push swr.cn-north-4.myhuaweicloud.com/testawa0306/0penjdk:v8.8
镜像上传成功后,我们可以在容器镜像服务控制台-“我的镜像”中找到刚刚上传成功的镜像。
- (可选)镜像上传成功后,您可以使用已上传的镜像在CCE中部署工作负载。