简介
华为云容器镜像服务(SoftWare Repository for Container)是一种支持容器镜像全生命周期管理的服务,提供简单易用、安全可靠的镜像管理功能,帮助用户快速部署容器化服务。
使用华为云 SWR 步骤
- 获取长期有效登录指令
- 构建 docker 镜像并发布到华为云
获取长期有效登录指令
# 获取登录密钥
# $AK $SK: 访问密钥即AK/SK(Access Key ID/Secret Access Key),表示一组密钥对,用于验证调用API发起请求的访问者身份,与密码的功能相似。如果您已有AK/SK,可以直接使用,无需再次获取。
printf "$AK" | openssl dgst -binary -sha256 -hmac "$SK" | od -An -vtx1 | sed 's/[ \n]//g' | sed 'N;s/\n//'
# 使用上一步获取的登录密钥登录docker
docker login -u [区域项目名称]@[AK] -p [登录密钥] [镜像仓库地址]
# example
docker login -u cn-east-3@1111 -p 2222 swr.cn-east-3.myhuaweicloud.com
# 为了安全 登录成功后请清理历史命令
history -c
t i p : \color{red}{tip:} tip: 获取区域项目名称、镜像仓库地址
- 登录华为云管理控制台,单击右上角您的用户名处,单击“我的凭证”。
- 在“API凭证”的项目列表中查找当前区域对应的项目。
- “华北-北京四”对应的项目名称为“cn-north-4”。
- 镜像仓库地址为 : swr.区域项目名称.myhuaweicloud.com,如华北-北京四对应的镜像仓库地址为:swr.cn-north-4.myhuaweicloud.com。
t i p : \color{red}{tip: } tip: $AK 和 $SK 的获取方式。请妥善保管密钥信息,放在安全的地方存储
- 登录华为云管理控制台,单击右上角您的用户名处,单击“我的凭证”。
- 在左侧导航栏中选择“访问密钥”,单击“新增访问密钥”。
- 输入描述信息,单击“确定”。
- 在弹出的提示页面单击“立即下载”。
- 下载成功后,在“credentials”文件中即可获取AK和SK信息。
构建 docker 镜像并推送到华为云
构建镜像
# 1.使用 DockerFile 构建镜像。
docker build -t [镜像仓库地址]/[组织名称]/[镜像名称:版本名称] .
# 2.使用已有镜像重新打标签
docker tag [镜像名称1:版本名称1] [镜像仓库地址]/[组织名称]/[镜像名称2:版本名称2]
推送镜像
# docker login 登录后才可以上传镜像
docker push [镜像仓库地址]/[组织名称]/[镜像名称:版本名称]
拉取镜像
# 自有镜像需要登录后才可以拉取
docker pull [镜像仓库地址]/[组织名称]/[镜像名称:版本名称]
案例: Oracle JDK 11.0.13 Image
使用 Oracle JDK 做了一个简单的尝试,速度挺快
docker pull swr.cn-east-3.myhuaweicloud.com/joe/oracle-jdk:11.0.13
t i p : \color{red}{tip:} tip: 公开镜像,无需登录,可以直接拉取