Dockr 私有仓库搭建
Docker仓库的搭建技术以及被docker公司开源,并且封装成一个docker镜像,现在搭建docker仓库只需要下载镜像,开启服务即可。
一、环境准备:
docker 服务器(私有仓库)10.10.21.130
docker 客户端 10.10.21.16
保证能够通信:
二、docker服务器搭建
1、docker后期端口转发需要用到防火墙,所以docker服务器必须开启防火墙
但是要关闭selinux
systemctl start firewalld
setenforce 0
2、开启docker服务,下载搭建私有仓库的官方docker镜像
开启docker服务
systemctl start docker
常规的pull方法下载镜像
docker pull registry
提前下载的镜像包导入
docker load -i registry.tar
3、创建容器,启动docker的私有仓库
docker run -d -p 5000:5000 -v /opt/registry:/var/lib/registry --name dockerServer 047218491f8c
-d 自启动
-p 5000:5000 端口映射,本地端口5000映射到容器端口5000
-v /opt/registry:/var/lib/registry 把本地磁盘挂载到容器磁盘/var/lib/registry(默认情况下仓库存放镜像于容器内的/var/lib/registry目录下)
–name dockerServer 定义容器名
查看私有仓库是否启动成功
docker ps -a
容器启动后opt目录下回自动生成registry目录,链接到容器内/var/lib/registry
至此,私有仓库已搭建完成
三、客户端配置
1、Docker在新版本之后,只支持https的请求,所以需要预先配置docker的服务,允许http请求。
需要修改客户端的文件
vim /etc/sysconfig/docker
OPTIONS后添加–insecure-registry 10.10.21.130:5000
重启docker服务
2、上传镜像前准备工作
修改仓库名
docker tag 镜像id 10.10.21.130:5000/仓库名称
同时添加私有库地址到docker源
vim /etc/docker/daemon.json
重启服务
systemctl restart docker
3、客户端上传镜像至服务器(私有仓库)
docker push 10.10.21.130:5000/pur_centos
4、将客户端镜像删除,到私有仓库下载
此时查看images,发现10.10.21.130:5000/mysql8这个镜像已不存在
5、到私有仓库测试下载10.10.21.130:5000/mysql8镜像
查看客户端images,可以发现已经下载下来了