docker私有仓库部署

首先科普docker几种“仓库”概念,可分为:本地镜像,本地仓库,公有仓库(docker hub)

本地镜像:在把java程序打包成镜像,输出的镜像的位置就是本地镜像

公有仓库:一个叫docker hub的网站,类似于github,所有人都可以把自己的镜像上传上去,也可以使用别人的镜像

私有仓库:相当于自己建的docker hub,常用于不可公开的(例如公司),或者追求网速(镜像不像代码文件那么小)

用代码和github类比,本地仓库就是在本地硬盘的没用源码管理的一份代码文件,公有仓库就是github,私有仓库就是自建的git服务器例如bitbucket或gogs等

由于k8s运行镜像必须从仓库pull,公有私有仓库都行,但不能本地,所以以下说明如何在本机建私有仓库

本例使用的是docker自带的私有仓库registry:2

运行docker pull registry:2,下载registry:2的镜像

运行docker run -d -p 5000:5000 --restart=always --name registry registry:2,运行registry:2镜像

PS:端口设置了5000,也就是此仓库端口是5000,记着以后会用到

到此registry:2仓库运行了,可以push一个本地镜像测试

查询本地有此镜像

 

运行docker tag docker.io/springio/ewater:0.0.1  192.168.31.141:5000/springio/ewater:0.0.1,设置镜像的tag

其中tag后面的“docker.io/springio/ewater:0.0.1”,docker.io固定,springio/ewater:0.0.1就是上面看到的镜像的名称和TAG

后面的“192.168.31.141:5000/springio/ewater:0.0.1”,其中192.168.31.141:5000代表仓库的ip和端口

PS:这里写的不好,因为我也没太理解原理

修改后多了一行

 

运行docker push 192.168.31.141:5000/springio/ewater:0.0.1,把本地镜像push到仓库

其中192.168.31.141:5000/springio/ewater:0.0.1就是上面设置的tag

上传后,可以用registry:2的http接口看镜像目录

 

猜你喜欢

转载自www.cnblogs.com/cannel/p/11104229.html