专栏首页Coding DiaryDocker构建私有仓库

Docker构建私有仓库

Docker Hub

目前Docker官方维护了一个公共仓库Docker Hub,其中已经包含了数量超过15000的镜像。大部分需求都可以通过在Docker Hub中直接下载镜像来实现。

可以在https://hub.docker.com 免费注册一个Docker账号。 在命令行输入执行docker login,输入用户名及密码可以登录Docker Hub,可以通过docker logout退出登录。 通过docker search命令可以查找官方仓库中的镜像,并利用docker pull命令将镜像下载到本地。 用户登录后也可以通过docker push 命令将自己的镜像推送到Docker Hub。

私有仓库

有时候使用Docker Hub这样的公有仓库可能不方便,用户可以创建自己的私有仓库。

docker-registry是官方提供的工具,可以用于构建私有的镜像仓库。 安装运行docker-registry 可以通过官方registry镜像来运行。默认情况下,仓库会被创建在 /var/lib/registry 目录下。 可以通过 -v 参数来将镜像文件放在本地的指定路径

docker run --name registry -d \
-p 5000:5000 --restart=always \
-v /opt/data/registry:/var/lib/registry \
registry

创建好私有仓库之后,就可以使用 docker tag 来标记一个镜像,然后把它推送到仓库。

先查看本地镜像:

docker image ls

使用 docker tag 将test-web:latest这个镜像标记为 127.0.0.1:5000/test-web:latest :

docker tag test-web:latest 127.0.0.1:5000/test-web:latest

使用 docker push 上传标记的镜像:

docker push 127.0.0.1:5000/test-web:latest

使用 curl 查看仓库中的镜像

curl 127.0.0.1:5000/v2/_catalog

如果可以看到 {“registry”:[“test-web”]} ,表明镜像已经被上传成功了。

先删除本地已有的镜像,再尝试从私有仓库下载这个镜像

docker image rm 127.0.0.1:5000/test-web:latest
docker pull 127.0.0.1:5000/test-web:latest

注意事项:

如果不想用127.0.0.1:5000作为仓库地址,比如想让本网段的其他主机也能把镜像推送到仓库,当把把仓库地址改为如192.168.0.101:5000时镜像还是无法推送成功。这是因为Docker 默认不允许非HTTPS方式推送镜像,我们可以通过Docker配置选项来取消这个限制。 centos7下可以修改/etc/docker/daemon.json 文件,写入如下内容:

{
"registry": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.0.101:5000"
]
}

本文分享自微信公众号 - Coding Diary(gh_7e1f05090980),作者:Joey

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-11-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker入门(一)-- 基础概念与安装

    Docker最初是dotCloud公司的创始人Solomon Hyks在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并...

    CodingDiray
  • ActiveMQ入门

    Apache ActiveMQ是当前最流行的开源的,支持多协议的,基于Java的消息中间件,官网的原话是:Apache ActiveMQ™ is the mos...

    CodingDiray
  • CAdvisor + InfluxDB + Grafana搭建Docker容器监控系统

    利用docker compose组合应用并利用scale可以快速对容器进行扩充,而docker compose启动的服务容器都在同一台宿主机上,对于一个宿主机上...

    CodingDiray
  • docker--docker仓库

    Docker仓库(Repository)类似与代码仓库,是Docker集中存放镜像文件的地方。

    eadela
  • 跟我一起学docker(五)--仓库

    IT故事会
  • Docker Hub 公有镜像在国内拉取加速配置

    版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注...

    耕耘实录
  • Docker的核心概念,镜像操作

    简介 在实际使用Docker的过程中,遇到一些问题,但是总没有系统的博文可以详细的介绍Docker,所以个人写一个由浅入深的系统学习Docker过程。 这里首...

    牛嗷嗷
  • Centos安装docker 以及 docker基本概念

    Docker 包括三个基本概念: 镜像(Image) 容器(Container) 仓库(Repository)

    风清醉
  • Docker私有镜像仓库是什么?

    镜像仓库作为Docker技术的核心组件之一,其主要作用就是负责镜像内容的存储和分发。Docker镜像仓库从使用范围来说分为“公有镜像仓库”和“私有镜像仓库”,公...

    用户5927304
  • 使用Docker构建企业级自定义镜像

    临下班前,楼主接到了一个需求,由于基础镜像标准发生变更,需要按照最新的Docker 镜像标准构建自己应用的自定义镜像。目前的标准是这样的:基础架构组只提供所有项...

    码农小胖哥

扫码关注云+社区

领取腾讯云代金券