前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker建立私有仓库

Docker建立私有仓库

作者头像
zy010101
发布2022-05-05 16:09:48
5190
发布2022-05-05 16:09:48
举报
文章被收录于专栏:程序员

建立私有仓库

Dockerhub、阿里云这样的公共镜像仓库可能不太方便,涉及机密的公司不可能提供镜像给公网,所以需要创建一个本地私人仓库供给团队使用,基于公司内部项目构建镜像。Docker官方提供了Docker Registry用于构建私有镜像仓库。

下载Registry

代码语言:javascript
复制
sudo docker pull registry       # 拉取registry镜像

运行registry

代码语言:javascript
复制
docker run -d -p 5000:5000  -v /home/myregistry/:/tmp/registry --privileged=true registry    # 运行registry,使用容器数据卷映射

稍微解释一下参数的含义-p host_port:container_port,-p 5000:5000是宿主机的5000端口映射到容器的5000端口。

-v 宿主机目录:容器目录是指定容器数据卷映射。这里是将宿主机的/home/myregistry/映射到容器的/tmp/registry目录。

--privileged=true开启后,Docker容器被允许可以访问主机上的所有设备、可以获取大量设备文件的访问权限、并可以执行mount命令进行挂载。

打包一个新的镜像

例如,我们可以在ubuntu系统中安装tree命令,然后docker commit成为一个新的镜像。

代码语言:javascript
复制
sudo docker commit -m "add tree cmd" -a="zy010101" f8348ef59d20 ubuntu_with_tree:1.0

查看私有仓库中的镜像

代码语言:javascript
复制
curl -XGET http://10.0.16.5:5000/v2/_catalog

由于当前没有push镜像到私有仓库,因此输出结果如下:

代码语言:javascript
复制
{"repositories":[]}

修改镜像为符合私有仓库的TAG

代码语言:javascript
复制
sudo docker tag ubuntu_with_tree:1.0 10.0.16.5:5000/myubuntu:1.0.0

修改docker配置文件

如果你没有/etc/docker/daemon.json,那么就创建这个文件,然后加入下面的内容。

代码语言:javascript
复制
{
    "insecure-registries": ["10.0.16.5:5000"]
}

修改这个是为了让docker允许http方式推送镜像。因为默认docker是不允许HTTP推送的。(如果修改配置之后,无法立即生效,可以重启docker以及registry容器)

推送镜像到私有仓库

将我们刚才修改TAG之后的镜像进行推送。

代码语言:javascript
复制
sudo docker push 10.0.16.5:5000/myubuntu:1.0.0

然后查看私有仓库中的镜像是否推送成功。

代码语言:javascript
复制
curl -XGET http://10.0.16.5:5000/v2/_catalog

结果显示,我们刚才的镜像已经被推送成功了。

代码语言:javascript
复制
{"repositories":["myubuntu"]}

拉取私有仓库的镜像

代码语言:javascript
复制
sudo docker pull 10.0.16.5:5000/myubuntu:1.0.0

查询私有仓库镜像标签

代码语言:javascript
复制
curl -XGET http://10.0.16.5:5000/v2/_catalog                # 先查询仓库里的镜像

结果如下:

代码语言:javascript
复制
{"repositories":["myubuntu"]}

然后根据查询出来的镜像,进行标签的查询。

代码语言:javascript
复制
curl -XGET http://10.0.16.5:5000/v2/myubuntu/tags/list
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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