使用阿里云Docker镜像仓库

在部署服务器集群的时候,很多环境都是一样的,如果是用Docker搭建的环境,官网的太慢了,可以使用阿里云的Docker镜像仓库。先在一台服务上部署所有的环境,再push到阿里云的Docker镜像仓库,其他的服务器直接用这边pull取就快多了。

1. 进入阿里云镜像服务

登录阿里云账号,在产品与服务中找到容器镜像服务

2. 创建Registry登录密码

第一次进入开通服务后会有一个设置Registry登录密码,点进去自己设置一个密码,后面登录登录的时候需要用到

3. 设置命名空间

在左侧找到命名空间,创建一个

4. 登录

进入到服务器中,使用命令登录

$ docker login --username=[你的用户名] registry.cn-hangzhou.aliyuncs.com

用于登录的用户名为阿里云账号全名,之后会让你输入第2步创建的密码。
登录成功后会有一个警告,意思你的密码以明文格式记录在/root/.docker/config.json,之生登录不需要密码了,如查要删了自己去找那个json文件就行

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

5. 将镜像推送到Registry

命名空间是前面第4步创建的,repository是仓库名

# 先登录,如果已经登录过的就不用管
$ docker login --username=xushichang012 registry.cn-hangzhou.aliyuncs.com
$ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/[命名空间]/[repository]:[镜像版本号]
$ docker push registry.cn-hangzhou.aliyuncs.com/[命名空间]/[repository]:[镜像版本号]

如我们要将nats 1.3.0版本推送到zngw命名空间中

# 查看镜像id
$ docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
nats                              1.3.0               40a6f5ca1594        18 months ago       7.76MB

$ docker login --username=xxx registry.cn-hangzhou.aliyuncs.com
$ docker tag 40a6f5ca1594 registry.cn-hangzhou.aliyuncs.com/zngw/nats:1.3.0
$ docker push registry.cn-hangzhou.aliyuncs.com/zngw/nats:1.3.0
The push refers to repository [registry.cn-hangzhou.aliyuncs.com/zngw/nats]
f4d1bc33a08d: Pushed 
38e677270912: Pushed 
1.3.0: digest: sha256:28eb780ab00a512b20c96eff87da342cd8f6319080846352372f461211092c8a size: 735

6. 从Registry中拉取镜像

$ docker login --username=xushichang012 registry.cn-hangzhou.aliyuncs.com

#外网拉取
$ docker pull registry.cn-hangzhou.aliyuncs.com/[命名空间]/[repository]:[镜像版本号]

# 专有网络拉取
$ docker pull registry-vpc.cn-hangzhou.aliyuncs.com/[命名空间]/[repository]:[镜像版本号]

# 经典网络拉取
$ docker pull registry-internal.cn-hangzhou.aliyuncs.com/[命名空间]/[repository]:[镜像版本号]

如果是同一账号下可以用专有网络或经曲网络,这样不仅不消耗外网流量还快的不要不要的

如果上面的nats镜像

$ docker login --username=xxx registry.cn-hangzhou.aliyuncs.com
$  docker pull registry.cn-hangzhou.aliyuncs.com/zngw/nats:1.3.0

7. 重命名

下载过来的名字都比较长如registry.cn-hangzhou.aliyuncs.com/zngw/nats
使用docker images先找到registry.cn-hangzhou.aliyuncs.com/zngw/nats的镜像id,然后按下面操作就可以重命名为nats

docker tag [images] nats:1.3.0
docker rmi registry.cn-hangzhou.aliyuncs.com/zngw/nats:1.3.0

个人阿里云镜像(持续更新)

镜像名称 版本 地址
dotnet 2.2.402 registry.cn-hangzhou.aliyuncs.com/zngw/dotnet
java 8u92-jre-alpine registry.cn-hangzhou.aliyuncs.com/zngw/java
kafka 2.3.0 registry.cn-hangzhou.aliyuncs.com/zngw/kafka
mongo 3.2.8、4.2.5 registry.cn-hangzhou.aliyuncs.com/zngw/mongo
mysql 8.0.18 registry.cn-hangzhou.aliyuncs.com/zngw/mysql
nats 1.3.0 registry.cn-hangzhou.aliyuncs.com/zngw/nats
nginx 1.10.1-alpine registry.cn-hangzhou.aliyuncs.com/zngw/nginx
redis 5.0.6 registry.cn-hangzhou.aliyuncs.com/zngw/redis
zookeeper 3.5.5 registry.cn-hangzhou.aliyuncs.com/zngw/zookeeper
0%