本文参照OCI Level 200实验指南:Oracle Cloud Infrastructure Registry。
Oracle Registry也称为OCIR,就是OCI中的registry。OCIR是region一级的服务。
首先创建一个public的repostiroty,名称只能小写,例如testrepo。
然后创建一个计算实例,使用OOracle Cloud Developer Image,这样Docker就已经安装好了。
启动docker:
sudo systemctl start docker
sudo usermod -aG docker opc
newgrp - docker
$ docker version
Client: Docker Engine - Community
Version: 18.09.8-ol
API version: 1.39
Go version: go1.10.8
Git commit: 76804b7
Built: Fri Sep 27 21:00:18 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.8-ol
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 76804b7
Built: Fri Sep 27 20:54:00 2019
OS/Arch: linux/amd64
Experimental: false
Default Registry: docker.io
从Docker Registry(是Docker公司的)中下载一个image:
$ docker image pull alpine
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest cc0abc535e36 31 hours ago 5.59MB
生成一个用户的Auth Token,生成完必须马上拷贝,否则后来看不到了。
查询所在region的region code/key, 参见这里。Frankfurt的region code是fra。
登录OCIR,地址格式是<regioncode>.ocir.io
,用户名格式是<tenant name>/<username>
,口令是用户的Auth Token:
$ docker login fra.ocir.io
Username: my_tenancy_name/oracleidentitycloudservice/my_email
Password:
WARNING! Your password will be stored unencrypted in /home/opc/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
以下为针对OCIR的操作:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
alpine latest cc0abc535e36 32 hours ago 5.59MB
$ docker tag cc0abc535e36 fra.ocir.io/ocichina001/testrepo:ocir_alpine
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
fra.ocir.io/ocichina001/testrepo ocir_alpine cc0abc535e36 32 hours ago 5.59MB
alpine latest cc0abc535e36 32 hours ago 5.59MB
$ docker push fra.ocir.io/ocichina001/testrepo:ocir_alpine
The push refers to repository [fra.ocir.io/ocichina001/testrepo]
6b27de954cca: Pushed
ocir_alpine: digest: sha256:3983cc12fb9dc20a009340149e382a18de6a8261b0ac0e8f5fcdf11f8dd5937e size: 528
$ docker pull fra.ocir.io/ocichina001/testrepo:ocir_alpine
Trying to pull repository fra.ocir.io/ocichina001/testrepo ...
ocir_alpine: Pulling from fra.ocir.io/ocichina001/testrepo
Digest: sha256:3983cc12fb9dc20a009340149e382a18de6a8261b0ac0e8f5fcdf11f8dd5937e
Status: Image is up to date for fra.ocir.io/ocichina001/testrepo:ocir_alpine
在OCI console中可以看到相应的Docker Image:
最后删除docker image,删除OCIR。