全部产品

Docker镜像上传到OSS

更新时间:2018-11-28 16:56:35

若需要将制作的 Docker 镜像上传到 OSS,需要按如下步骤操作。

安装 OSS Docker Registry 2

假设 docker 存储到 OSS 的目录路径为oss://your-bucket/dockers/,利用 Docker Registry 2 官方镜像创建一个私有镜像仓库,需要配置了 OSS 的 Access Key ID, Access Key Secret,Region,Bucket 等信息。

具体安装步骤如下:

i. 在当前目录生成文件 config.yml

  1. version: 0.1
  2. log:
  3. level: debug
  4. storage:
  5. oss:
  6. accesskeyid: your_access_key_id
  7. accesskeysecret: your_access_key_secret
  8. region: oss-cn-shenzhen
  9. bucket: your-bucket
  10. rootdirectory: dockers
  11. secure: false
  12. internal: false
  13. http:
  14. addr: 0.0.0.0:5000

其中的变量需要替换:

参数 描述
your_access_key_id 阿里云的 access key id
your_access_key_secret 阿里云的 access key secret
your-bucket 阿里云的 bucket
oss-cn-shenzhen bucket 所在的 region

关于 OSS 配置的详细信息请参见 Docker 官方文档

ii. 运行命令安装

  1. docker pull registry:2
  2. docker run -v `pwd`/config.yml:/etc/docker/registry/config.yml -p 5000:5000 --name registry -d registry:2
  • 注意:region 使用 oss-cn-shenzhen, 表示使用华南1(深圳) region 的 OSS,而后面提交作业也需要提交到相应的 region 才能正常工作。

iii.查看结果

  1. docker ps #查看运行的container

如果成功安装,可以看到 registry:2

镜像上传 OSS

  1. docker tag myubuntu localhost:5000/myubuntu
  2. docker push localhost:5000/myubuntu

注意:

  1. 要用 localhost:5000/ 作为前缀,用其他的字符串无法上传。5000 端口是第(1)步中 -p 5000:5000 中(冒号前的5000)指定的。
  2. 您制作的镜像名称为 localhost:5000/myubuntu,而不是 myubuntu。
  3. 检验镜像上传是否成功, 可以使用 OSS 控制台查看是否有这个目录: oss://your-bucket/dockers/docker/registry/v2/repositories/myubuntu/,使用 Docker 时,对应参数填写如下:
    • BATCH_COMPUTE_DOCKER_REGISTRY_OSS_PATH:oss://your-bucket/dockers
    • BATCH_COMPUTE_DOCKER_IMAGE:localhost:5000/myubuntu:xxxx (xxxx 为 myubuntu 的版本号)