在 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
发现镜像成功的被拉下来
相关推荐
和Mavan的管理一样,Dockers...现在Docker用处越来越多了,所以今天就想着搭建一个私有镜像仓库来维护内部我们自己的镜像。 环境 CentOS 7.x Docker 1.12.6 安装 docker-distribution $ sudo yum install -y docker
离线搭建docker私有镜像仓库软件包 教程参见https://blog.csdn.net/qq_38120778/article/details/124277294
本篇文章主要介绍了docker创建私有镜像仓库搭建教程,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
本文实例讲述了CentOS7.2服务器上搭建Docker私有镜像仓库操作。分享给大家供大家参考,具体如下: 鉴于国内pull镜像的速度较慢,很有必要搭建docker私有或者本地镜像仓库。 安装docker # yum -y install docker #...
docker有公共仓库,相当于在...所以有两个应对策略,第一个就是使用daocloud加速器,第二个就是本地搭建私有仓库,当从公共仓库中pull下来的镜像,存到本地私有仓库,下次还需要使用直接从本地下载,那速度就快很多了。
Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装, 它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm...
harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是 Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓 库,即Helm...
主要介绍了Docker Registry搭建私有镜像仓库的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
搭建私有仓库可以帮助我们管理和分发 Docker 镜像。我们可以使用 Docker Hub 或者其他私有仓库来存储和共享镜像。 八、docker-compose 的使用 docker-compose 是一个用于定义和运行多个容器的工具。我们可以使用 ...
解压得到部署harbor私有镜像仓库所需的docker-ce、docker-compose、harbor包。 1.环境准备 可使用已下载好的包,也可自行下载。 2.安装docker 部署docker,安装后需进行重启,使docker接管iptables规则 3.配置镜像...
docker 查询或获取私有仓库(registry)中的镜像,使用 docker search 192.168.1.8:5000 命令经测试不好使。 解决: 1、获取仓库类的镜像: [root@shanghai docker]# curl -XGEThttp://192.168.1.8:5000/v2/_...