前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「走进k8s」Docke仓库理解和搭建(四)

「走进k8s」Docke仓库理解和搭建(四)

作者头像
IT架构圈
发布2019-07-31 17:19:14
1K0
发布2019-07-31 17:19:14
举报
文章被收录于专栏:IT架构圈IT架构圈

上次说了通过dockerfile来定义镜像,说了关于dockerfile的命令,只说了几个基础的命令,在以后学习中逐渐给各位老铁说下,大家一定要注意构建镜像Dockerfile单独放在一个文件夹下,因为他涉及到上下文的概念。这次说说私有仓库。

(一)官方镜像仓库

目前 Docker 官方维护了一个公共仓库Docker Hub,大部分需求都可以通过在 Docker Hub 中直接下载镜像来实现。

  • ①网址

这个官方镜像仓库的地址,就类似于github,很多官网指定的仓库都在这里https://hub.docker.com/

  • ②注册

免费注册一个 Docker 账号https://hub.docker.com/signup?next=%2F%3Fref%3Dlogin

  • ③登录

官网登录 https://id.docker.com/login/

官网搜索

命令行登录

代码语言:javascript
复制
docker login

命令行搜索镜像 返回了很多包含关键字的镜像,其中包括镜像名字、描述、收藏数(表示该镜像的受关注程度)、是否官方创建、是否自动创建。官方的镜像说明是官方项目组创建和维护的,automated资源允许用户验证镜像的来源和内容。

代码语言:javascript
复制
docker search redis

--filter=stars=N 类似github starts次数大于多少的

代码语言:javascript
复制
docker search redis --filter=stars=50

镜像分为两种 1.官方镜像例如:centos,nginx,mysql 2.用户镜像例如:sss/centos,sss/nignx,bbb/mysql (sss用户,bbb用户自己维护的镜像) 命令行的方式退出

代码语言:javascript
复制
docker logout
  • ③镜像加速器

毕竟dockerhub类似github都是在国外的,国内的小伙伴可能拉取比较慢,搞过java开发的老铁都知道阿里有个国内的maven镜像。其实国内也有类似dockerhub的加速镜像器。阿里云账号也登录后在容器镜像服务。这里演示daocloud 官网:https://www.daocloud.io/

登录后

各种系统的加速方式

  • ④推送镜像到dockerhub上

一定要跟hub上登录后你的名称保持一致

代码语言:javascript
复制
docker images
docker tag mysql:latest zhugeaming/mysql-test
docker login
docker push zhugeaming/mysql-test
(二)私有镜像仓库docker-registry

我们总部能每次都把自己的镜像放到官方镜像仓库吧,举个例子,开发java的时候还搞maven私服呢,git也要搞gitlab本地方便上传呢,都上传到官方一方面国内的网速不允许,另一方面公司考虑到自身的保护都是上传到自己的私服上。上传到自己的私服首先网速快,感觉这还是至关重要的。

  • ①介绍

是官方提供的工具,可以用于构建私有的镜像仓库 官方地址:https://docs.docker.com/registry/

  • ②安装
代码语言:javascript
复制
docker run -d -p 5000:5000  --name registry registry:2.7.1
  • ③修改docker配置

因为 Docker 默认不允许非 HTTPS 方式推送镜像。我们可以通过 Docker 的配置选项来取消这个限制。

代码语言:javascript
复制
/etc/docker/daemon.json

修改内容,192.168.66.100 是仓库的IP地址

代码语言:javascript
复制
{"registry-mirrors": 
   ["http://b81aace9.m.daocloud.io"],
 "insecure-registries": [
    "192.168.66.100:5000"
  ]
}

修改完毕后

代码语言:javascript
复制
service docker restart
#重启容器registry
docker container start registry
  • ③推送镜像
代码语言:javascript
复制
docker pull hello-world
docker tag hello-world:latest 192.168.66.100:5000/hello-world:latest
docker push  192.168.66.100:5000/hello-world:latest
  • ④查看仓库内的镜像

打开浏览器:http://IP:5000/v2/_catalog

  • ⑤拉取私服中的镜像

先删除原有镜像,然后在拉取 docker pull 仓库ID:5000/仓库名称:版本号

代码语言:javascript
复制
docker images
docker rmi 192.168.66.100:5000/hello-world
docker rmi hello-world
docker pull 192.168.66.100:5000/hello-world
docker images

PS:建议在拉取镜像的时候不要使用lastest,docker默认最后一个版本都是lastest,最好使用确定的版本方便使用些。这里肯定有老铁问,这个仓库没界面很不爽啊,其实有个harbor的可视化界面仓库,因为harbor牵扯到一些设置,以后会单独说。下次说下docker数据持久化。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程坑太多 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • (一)官方镜像仓库
  • (二)私有镜像仓库docker-registry
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档