发布Docker镜像到阿里云容器仓库
admin
2021-06-03[YoYoMooc]发布Docker镜像到阿里云容器仓库
目录导航:
推荐内容:
因为网络问题,下载速度比较慢,在国内有很多云服务厂商都推出了免费的公有和私有Docker仓库,让我们不再那么繁琐。
本文采用阿里云作为演示如果操作容器仓库,如果你还没有一台Linux云服务器,可以通过我的推广链接:
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=hx9ksbv4
购买,我会得到一点优惠。
创建命名空间
请提前注册阿里云的账号,这个步骤我就不再演示了。首先我们需要创建一个属于自己的命名空间这个命名空间对应dockerhub的用户名。
阿里云docker的入口:https://cr.console.aliyun.com/cn-shanghai/instances/repositories
注意:一个账号最多可以创建 3 个命名空间命名。
在这里我创建了一个yoyosoft
的命令空间进行演示。
然后切换到镜像仓库按钮,选择镜像仓库的所在地区,如下图,我选择了上海节点作为演示内容。
选择后,我们点击创建镜像仓库按钮,输入我们的仓库名称exampleapp,然后点击下一步,
如上图,我们选择采用本地仓库,推送到仓库的模式,而不是通过源代码编译,这样可以防止某些公司的代码安全策略。毕竟大多数的公司不允许你把代码托管到外网。
然后点击创建好的仓库exampleapp名称,进入仓库详情。
你可以在这里看到很多具体的仓库信息,授权管理、版本以及触发器等信息。
推送本地镜像到阿里云仓库
现在我们就需要推送本地镜像到阿里云的仓库了。
在推送之前,请配置你的容器登录的访问凭证。
登录阿里云Docker 仓库,输入以下命令:
我们在windows系统中,无须添加sudo
参数,它是Linux的提权命令。
docker login --username=<用户邮箱> registry.cn-shanghai.aliyuncs.com
registry.cn-shanghai.aliyuncs.com
是我当前在上海节点,请注意你选择的节点位置。
通过上一个章节我们将ltm0203/exampleapp
推送到Dockerhub,我们已经知道了latest
标记最好由我们手动声明。
我们输入以下命令,将现有的ltm0203/exampleapp
镜像调整为阿里云镜像地址的镜像。
docker tag ltm0203/exampleapp:latest registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:latest
docker tag ltm0203/exampleapp:unchange registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:unchange
docker tag ltm0203/exampleapp:changed registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:changed
输入docker image ls
得到结果如下:
说明我们的符合阿里云地址的docker 镜像已经安装成功了。接下来,我们推送到阿里云的仓库即可。
输入以下命令:
docker push registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:changed
docker push registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:unchange
docker push registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:latest
最后访问阿里云镜像仓库的版本中心,可以看到上传的镜像内容,如下图:
运行验证
现在可以通过docker run
命令试着执行下。
docker run -p 5000:80 --name aliyuneapp registry.cn-shanghai.aliyuncs.com/yoyosoft/exampleapp:changed
访问浏览器地址http://localhost:5000/
,最后的运行结果: