资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

Docker中Repository仓库的介绍-创新互联

访问Docker仓库

仓库(Repository)是集中存放镜像的地方,又分共有仓库和私有仓库。注册服务器和仓库有所区别,注册服务器是存放仓库的具体服务器,一个注册服务器可以有多个仓库,而每个仓库下可以有多个镜像,仓库可以被认为是一个具体的项目或目录,如private-docker.com/ubuntu private-docker.com是注册服务器地址,ubuntu是仓库名。

创新互联是一家专业提供衡阳企业网站建设,专注与成都网站制作、网站建设、H5开发、小程序制作等业务。10年已为衡阳众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。公共镜像市场

Docker Hub是docker官方提供的大的公共镜像仓库,网址https://hub.docker.com 大部分镜像的需求都可以在Docker hub中直接下载
1、登录,可以通过命令执行docker login命令来输入用户名、密码和邮件来完成注册和登录,注册成功后本地用户目录下会自动穿件.docker/config.json文件,保存用户的认证信息。
2、基本操作,用户不需要登录就可以通过docker search命令来查找官方仓库的镜像,并利用docker [image] pull命令来将他下载到本地。
3、自动创建,是docker hub提供的自动化服务,可以自动跟随项目代码更新而重新构建镜像。如创建了一个应用镜像,如果发布了新版本需要手动跟新镜像。而自动创建可以让用户通过docker hub指定一个目标网站上的项目,一旦项目发生变化,自动执行创建。
1)创建登录Docker Hub
2)在目标网站中允许Docker Hub访问服务
3)在Docker Hub中配置一个自动创建类型的项目
4)选取一个目标网站中的项目和分支
5)指定Dockerfile的位置,并提交创建。

搭建本地私有仓库

使用registry创建私有镜像,并启动。仓库会被创建在容器的/var/lib/registry目录下,使用-v参数将镜像文件存放到指定目录(本地的/opt/data/registry)下

[root@docker01 ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2
Unable to find image 'registry:2' locally
2: Pulling from library/registry
486039affc0a: Pull complete 
ba51a3b098e6: Pull complete 
8bb4c43d6c8e: Pull complete 
6f5f453e5f2d: Pull complete 
42bc10b72f42: Pull complete 
Digest: sha256:7d081088e4bfd632a88e3f3bcd9e007ef44a796fddfe3261407a3f9f04abe1e7
Status: Downloaded newer image for registry:2
7166c8c34d7ff45d5e9200909ea17cebfd3894852cf1f49ee9e944ea1218fd9a

查看已有镜像并使用tag修改镜像标记为10.10.17.199:5000/test

[root@docker01 ~]# docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
ubuntu                   18.04               72300a873c2c        2 weeks ago         64.2MB
[root@docker01 ~]# docker tag ubuntu:18.04 10.10.17.199:5000/test

直接上传标记镜像会报错

[root@docker01 ~]# docker push 10.10.17.199:5000/test
The push refers to repository [10.10.17.199:5000/test]
Get https://10.10.17.199:5000/v2/: http: server gave HTTP response to HTTPS client

修改daemon.json文件,重新加载并重起docker,启动registry

[root@docker01 ~]# vim /etc/docker/daemon.json
{ "insecure-registries":["10.10.17.199:5000"] 
[root@docker01 ~]# systemctl daemon-reload 
[root@docker01 ~]# systemctl restart docker
[root@docker01 ~]# docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry registry:2
b3e4503d76bf818f4d4a8cbb399f2826c335a97d5bae6b21d66d671c4983d99f

上传标记镜像

[root@docker01 ~]# docker push 10.10.17.199:5000/test
The push refers to repository [10.10.17.199:5000/test]
1852b2300972: Pushed 
03c9b9f537a4: Pushed 
8c98131d2d1d: Pushed 
cc4590d6a718: Pushed 
latest: digest: sha256:0925d086715714114c1988f7c947db94064fd385e171a63c07730f1fa014e6f9 size: 1152

测试,删除原有10.10.17.199:5000/test,再pull一个下来

[root@docker01 ~]# docker rmi 10.10.17.199:5000/test
Untagged: 10.10.17.199:5000/test:latest
Untagged: 10.10.17.199:5000/test@sha256:0925d086715714114c1988f7c947db94064fd385e171a63c07730f1fa014e6f9
[root@docker01 ~]# docker pull 10.10.17.199:5000/test
Using default tag: latest
latest: Pulling from test
Digest: sha256:0925d086715714114c1988f7c947db94064fd385e171a63c07730f1fa014e6f9
Status: Downloaded newer image for 10.10.17.199:5000/test:latest
10.10.17.199:5000/test:latest
[root@docker01 ~]# docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
10.10.17.199:5000/test   latest              72300a873c2c        2 weeks ago         64.2MB
ubuntu                   18.04               72300a873c2c        2 weeks ago         64.2MB


文章题目:Docker中Repository仓库的介绍-创新互联
文章地址:http://www.cdkjz.cn/article/dojdcc.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220