当我们制作好了一个满意的镜像后,想保存下来以后随时随地使用,就需要有一个库来保存。
保存库主要有三种方式:
1、直接把制作好的镜像上传到Docker hub官方
2、上传到国内一些有提供私有库保存的网站,如阿里云
3、自己创建一个私有库来保存

公司提供的镜像保存一般会有各种限制,或者可能会要收费。
所以如果是公司用,还是自己创建私有库来保存。
如果是个人,镜像不多,可以上传到Docker官方或者国内一些网站上保存,怎么方便怎么来。

我这里主要是个人使用,所以就讲讲怎么上传镜像到阿里云上进行保存。
操作步骤
先注册一个阿里云账号https://www.aliyun.com/。
注册后,登录阿里云,在搜索框中搜索“容器镜像服务”,找到后,点击“立即开通”。

点击“命令空间”(旧版)或者“实例列表”(新版),点击进去,先需要创建一个命名空间。
阿里云旧版界面:

阿里云新版界面:

给自己的空间取个名:

注意默认创建仓库是公开还是私有:

创建完空间后,再创建镜像:

命名空间选择我们前面创建的,根据自己的镜像作用给镜像取个名,设置是公开还是私有,再设置一个摘要

下一步后,可以绑定其它一些代码托管网站,同步代码保存

我们这里不绑定,直接“创建镜像仓库”。
创建完成后,可以看到有提供各种访问镜像的地址。

后面我们就可以通过这个地址来拉取镜像或者上传镜像。
点击下面的“访问凭证”

在这里设置一个访问密码

在“镜像仓库”,镜像的“管理”中,有对镜像上传下载详细的操作说明

我们现在可以到安装Docker的系统上执行docker login命令来保存凭证了。

sudo docker login --username=你的阿里云账号 registry.cn-hangzhou.aliyuncs.com
Password:
Password:
Login Succeeded

这里要注意,第一个密码是系统管理员账号密码,第二个才是前面设置的访问凭证密码

现在把我们的镜像推到阿里云上保存
$ sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/ibing-code/django:[镜像版本号]
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/ibing-code/django:[镜像版本号]

$ docker images
REPOSITORY     TAG        IMAGE ID       CREATED       SIZE
django_nginx   latest     2d06522de59e   3 days ago    133MB
django_web     latest     5df5e23c8337   3 days ago    921MB
mysql          5.7        87eca374c0ed   2 weeks ago   447MB
centos         7.6.1810   f1cb7c7d58b7   2 years ago   202MB
$ sudo docker tag 2d06522de59e registry.cn-hangzhou.aliyuncs.com/ibing-code/django:v1
Password:
$ sudo docker push registry.cn-hangzhou.aliyuncs.com/ibing-code/django:v1
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/ibing-code/django]
bbace4dd8a27: Pushed
447688b95830: Pushed
ed4a2a6e5333: Pushed
b3ac143e6cfb: Pushed
f82bf23295d4: Pushed
64ee8c6d0de0: Pushed
974e9faf62f1: Pushed
15aac1be5f02: Pushed
23c959acc3d0: Pushed
4dc529e519c4: Pushed
7e718b9c0c8c: Pushed
v1: digest: sha256:edd57104145510399 size: 2608

上传完,可以发现阿里云上django镜像库中多了一个内容,就是我们刚推上去的镜像

以后,不管你在哪里要用,随时可以从阿里云上把这个镜像拉下来使用。
$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/ibing-code/django:[镜像版本号]