Register

Register

本章节内容虽然包含一些命令,但是只是帮助大家理解,不必掌握每条命令的使用细节,请大家不要惊慌。

问题

我们先来看一条命令:

docker pull mysql

稍微了解Docker的同学都应该知道,这条命令就是让Docker将远程的Mysql镜像拉到本地来,当然也可以理解成下载镜像。

那么所谓的远程在哪呢?docker是从哪把Mysql镜像下载下来的呢?

这里我们不得不提Docker Hub,也就是Docker的官方仓库,不出意外,Docker就是默认从这里把Mysql镜像下载下来的。

Docker Hub里有成千上万个镜像供我们下载使用,几乎包含了你所有能想到的环境,甚至包含商用的Oracle,当然肯定不会包含Windows

那么这么丰富多彩的Docker Hub应用在我们项目部署中有没有什么问题呢?当然,如果没有,说这么多干嘛。

首先,我们很多的部署环境都没有外网,这直接导致了我们根本无法使用docker hub,执行我们开头的那条命令会直接报错。

其次,我们自己发布的镜像,大多都包含自己的代码,而Docker Hub免费的情况下,只能创建几个私有的镜像(全民开源的精神),这就可能导致我们的代码泄露,这个对于软件企业是难以接受的。

所以,Docker Register 站了出来,简单的说,Docker Register就是私有的Docker Hub,当然免费的东西,功能和体验上肯定没有Docker Hub强大啦。

关于Docker Register的安装,在后续的章节会详细的介绍,这里不再说明,当我们安装配置好Docker Register以后,就可以将镜像推送到我们的私有库了。命令如下:

docker push 127.0.0.1:5000/luckyu:1.0.0

127.0.0.1:5000就是我们安装的Docker Register私有云地址。

当然,我们也可以从部署服务器从私有云把镜像拉下来:

docker pull 127.0.0.1:5000/luckyu:1.0.0

我们可以将任意的镜像推送到私有云,当然也包括从docker下载下来的镜像,比如之前提到的Mysql,这样我们就能在内网随意拉取我们想要的镜像了。命令如下:

先从docker hub拉镜像:

docker pull mysql

重新给这个镜像打上我们私有云的标签:

docker tag mysql 127.0.0.1:5000/mysql

推送到私有云:

docker push 127.0.0.1:5000/mysql

这样就把mysql推送到我们自己的私有云了。

大家肯定会有个疑问,不是说内网吗?那怎么从Docker拉下来镜像呢,第一句不就报错了吗?

当然,如果是纯内网环境,这样做肯定是不行的,那就需要我们按下面的流程来。

在有外网的机器上拉取镜像:

docker pull mysql

将镜像存成压缩包:

docker save > mysql.tar

用u盘等介质将mysql.tar拷到没有外网的服务器上,然后载入镜像:

docker load < mysql.tar

重新给这个镜像打上我们私有云的标签:

docker tag mysql 127.0.0.1:5000/mysql

推送到私有云:

docker push 127.0.0.1:5000/mysql

这样我们就在内网环境中可以使用Mysql镜像了。

不论是我们的代码发布也好,还是后续章节提到的离线部署环境安装,都是基于这个原理。大家理解就好,不需要大家掌握具体操作细节,因为大多数能用到的镜像,都已经为大家准备好了。

Api

假如我们的私有云地址是masshi.com:5000

我们可以通过下面的接口查看我们私有云下有哪些镜像:

http://masshi.com:5000/v2/_catalog

以及每个镜像的版本列表:

http://masshi.com:5000/v2/luck-doc-server/tags/list

注意事项

如果我们的Docker Register没有启用TLS安全连接,那么就需要我们把私有云加入到所有Docker的信任站点中,具体参考集群环境安装

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值