`
郑云飞
  • 浏览: 813845 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Docker搭建私有镜像仓库

 
阅读更多

 在 Docker 中,当我们执行 docker pull xxx 的时候,可能会比较好奇,Docker 会去哪儿查找并下载镜像呢?

它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库,上面的镜像,大家都可以看到,也可以使用。所以,我们也可以带上仓库地址去拉取镜像,如:docker pull registry.hub.docker.com/library/alpine,不过要注意,这种方式下载的镜像的默认名称就会长一些。

如果要在公司中使用 Docker,我们基本不可能把商业项目上传到公共仓库中,那如果要多个机器共享,又能怎么办呢?

正因为这种需要,所以私有仓库也就有用武之地了。

所谓私有仓库,也就是在本地(局域网)搭建的一个类似公共仓库的东西,搭建好之后,我们可以将镜像提交到私有仓库中。这样我们既能使用 Docker 来运行我们的项目镜像,也避免了商业项目暴露出去的风险。

下面我们用官方提供的registry镜像来搭建私有镜像仓库,当然还有其它很多方法。

1.下载镜像registry

 

docker pull registry

 2.查看镜像是否pull下来了

 

 

 docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
docker.io/registry   latest              b2b03e9146e1        2 weeks ago         33.29 MB

 3.运行registry容器

 

 

docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest 

 参数说明

 

-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
-v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
--restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
--name registry:创建容器命名为registry,你可以随便命名;
registry:latest:这个是刚才pull下来的镜像;

4.测试镜像仓库中所有的镜像

 

 curl http://127.0.0.1:5000/v2/_catalog

 {"repositories":[]}

 

现在是空的,因为才刚运行,里面没有任何镜像内容

 

我们下载一个nginx的镜像

 

docker pull nginx

 

 

查看现在的镜像

 

docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx      latest              8b89e48b5f15        4 days ago          109 MB
docker.io/registry   latest              b2b03e9146e1        2 weeks ago         33.29 MB

 为镜像打标签

 

 

docker tag docker.io/nginx:latest 127.0.0.1:5000/docker.io/nginx:v1

 查看一下打好的tag:

 

 

 docker images
REPOSITORY                       TAG                 IMAGE ID            CREATED             SIZE
127.0.0.1:5000/docker.io/nginx   v1                  8b89e48b5f15        4 days ago          109 MB
docker.io/nginx                  latest              8b89e48b5f15        4 days ago          109 MB
docker.io/registry               latest              b2b03e9146e1        2 weeks ago         33.29 MB

 看一看到v1就是我们刚刚打的标签

 

现在我们把v1这个镜像上传到我们创建的私有仓库里面里面

 

 

docker push 127.0.0.1:5000/docker.io/nginx:v1

 查看仓库里面是否已经有了我们刚刚push的镜像

curl  http://127.0.0.1:5000/v2/_catalog
{"repositories":["docker.io/nginx"]}

 至此镜像已经上传到私有仓库了

我们可以测试一下,从私有仓库里面拉取刚刚push上去的nginx镜像

docker pull 127.0.0.1:5000/docker.io/nginx:v1

 

发现镜像成功的被拉下来

 

 

 

 

  • 大小: 23.5 KB
分享到:
评论

相关推荐

    Docker搭建私有镜像仓库的方法

    和Mavan的管理一样,Dockers...现在Docker用处越来越多了,所以今天就想着搭建一个私有镜像仓库来维护内部我们自己的镜像。 环境 CentOS 7.x Docker 1.12.6 安装 docker-distribution $ sudo yum install -y docker

    离线搭建docker私有镜像仓库软件包

    离线搭建docker私有镜像仓库软件包 教程参见https://blog.csdn.net/qq_38120778/article/details/124277294

    docker创建私有镜像仓库搭建教程

    本篇文章主要介绍了docker创建私有镜像仓库搭建教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    CentOS7.2服务器上搭建Docker私有镜像仓库操作示例

    本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作。分享给大家供大家参考,具体如下: 鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库。 安装docker # yum -y install docker #...

    docker私有仓库搭建

    docker有公共仓库,相当于在...所以有两个应对策略,第一个就是使用daocloud加速器,第二个就是本地搭建私有仓库,当从公共仓库中pull下来的镜像,存到本地私有仓库,下次还需要使用直接从本地下载,那速度就快很多了。

    Docker搭建私有仓库之Harbor的步骤

     Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装, 它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm...

    Harbor 搭建 Docker 私有镜像

    harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是 Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓 库,即Helm...

    Docker Registry搭建私有镜像仓库的实现方法

    主要介绍了Docker Registry搭建私有镜像仓库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Dockerfile指令与Docker-compose容器编排-搭建docker私有仓库.doc

    搭建私有仓库可以帮助我们管理和分发 Docker 镜像。我们可以使用 Docker Hub 或者其他私有仓库来存储和共享镜像。 八、docker-compose 的使用 docker-compose 是一个用于定义和运行多个容器的工具。我们可以使用 ...

    Harbor私有镜像仓库部署包

    解压得到部署harbor私有镜像仓库所需的docker-ce、docker-compose、harbor包。 1.环境准备 可使用已下载好的包,也可自行下载。 2.安装docker 部署docker,安装后需进行重启,使docker接管iptables规则 3.配置镜像...

    docker 查询或获取私有仓库(registry)中的镜像的方法

    docker 查询或获取私有仓库(registry)中的镜像,使用 docker search 192.168.1.8:5000 命令经测试不好使。 解决: 1、获取仓库类的镜像: [root@shanghai docker]# curl -XGEThttp://192.168.1.8:5000/v2/_...

Global site tag (gtag.js) - Google Analytics