当前位置: 首页 » 综合知识 » it知识 » 正文

Docker私有仓库Registry怎么搭建验证

发布时间:2023-07-24 以下文章来源于网友投稿,内容仅供参考!

1. 关于registry

官方的docker hub是一个用于管理公共镜像的好地方,我们可以在上面找到我们想要的镜像,也可以把我们自己的镜像推送上去。但是,有时候,我们的使用场景需要我们拥有一个私有的镜像仓库用于管理我们自己的镜像。这个可以通过开源软件registry来达成目的。

 registry在github上有两份代码:和。老代码是采用python编写的,存在pull和push的性能问题,出到0.9.1版本之后就标志为deprecated,不再继续开发。从2.0版本开始就到在新代码库进行开发,新代码库是采用go语言编写,修改了镜像id的生成算法、registry上镜像的保存结构,大大优化了pull和push镜像的效率。

 官方在docker hub上提供了registry的镜像(),我们可以直接使用该registry镜像来构建一个容器,搭建我们自己的私有仓库服务。tag为latest的registry镜像是0.9.1版本的,我们直接采用2.1.1版本。

 2. registry的部署

运行下面命令获取registry镜像,

$ sudo docker pull registry:2.1.1

然后启动一个容器,

复制代码 代码如下:

$ sudo docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1

registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

 运行docker ps看一下容器情况,

lienhua34@lienhua34paq-presario-cq35-notebook-pc ~ $ sudo docker ps 
container id    image        mand         created       status       ports          names
f3766397a458    registry:2.1.1   "/bin/registry /etc/d"  46 seconds ago   up 45 seconds    0.0.0.0:5000->5000/tcp  registry

说明我们已经启动了registry服务,打开浏览器输入127.0.0.1:5000/v2,出现下面情况说明registry运行正常,

 

3. 验证

现在我们通过将镜像push到registry来验证一下。

我的机器上有个hello-world的镜像,我们要通过docker tag将该镜像标志为要推送到私有仓库,

$ sudo docker tag hello-world 127.0.0.1:5000/hello-world

然后查看以下本地的镜像,

lienhua34@lienhua34paq-presario-cq35-notebook-pc ~ $ sudo docker images
repository          tag         image id      created       virtual size
registry           2.1.1        b91f745cd233    5 days ago     220.1 mb
ubuntu            14.04        a5a467fddcb8    6 days ago     187.9 mb
hello-world         latest       975b84d108f1    2 weeks ago     960 b
127.0.0.1:5000/hello-world  latest       975b84d108f1    2 weeks ago     960 b

接下来,我们运行docker push将hello-world镜像push到我们的私有仓库中,

lienhua34@lienhua34paq-presario-cq35-notebook-pc ~ $ sudo docker push 127.0.0.1:5000/hello-world
the push refers to a repository [127.0.0.1:5000/hello-world] (len: 1)
975b84d108f1: image successfully pushed 
3f12c794407e: image successfully pushed 
latest: digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b size: 2744

现在我们可以查看我们本地/opt/registry目录下已经有了刚推送上来的hello-world。我们也在浏览器中输入127.0.0.1:5000/v2/_catalog,如下图所示,

 

现在我们可以先将我们本地的127.0.0.1:5000/hello-world和hello-world先删除掉,

$ sudo docker rmi hello-world
$ sudo docker rmi 127.0.0.1:5000/hello-world

然后使用docker pull从我们的私有仓库中获取hello-world镜像,

lienhua34@lienhua34paq-presario-cq35-notebook-pc ~ $ sudo docker pull 127.0.0.1:5000/hello-world
using default tag: latest
latest: pulling from hello-world
b901d36b6f2f: pull plete 
0a6ba66e537a: pull plete 
digest: sha256:1c7adb1ac65df0bebb40cd4a84533f787148b102684b74cb27a1982967008e4b
status: downloaded newer image for 127.0.0.1:5000/hello-world:latest
lienhua34@lienhua34paq-presario-cq35-notebook-pc ~ $ sudo docker images
repository          tag         image id      created       virtual size
registry           2.1.1        b91f745cd233    5 days ago     220.1 mb
ubuntu            14.04        a5a467fddcb8    6 days ago     187.9 mb
127.0.0.1:5000/hello-world  latest       0a6ba66e537a    2 weeks ago     960 b

4. 可能问题

可能会出现无法push镜像到私有仓库的问题。这是因为我们启动的registry服务不是安全可信赖的。这是我们需要修改docker的配置文件/etc/default/docker,添加下面的内容,

docker_opts="--insecure-registry xxx.xxx.xxx.xxx:5000"

然后重启docker后台进程,

$ sudo service docker restart

这是再push即可。

  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师