docker搭建本地镜像仓库

一、环境

centos 7.5
docker 18

Docker Hub 虽然很方便,但是也有一定的弊端:
1、需要链接互联网,对内网环境有限制
2、传输速度限制,上传下载比较慢
3、内部应用环境,上传Hub不安全
4、安全考虑不运行镜像放外网

解决办法:
Docker 已经将registry进行了开源,我们可以在Docker运行自己的registry

二、搭建过程

1、获取镜像
shell>yum update 跟新源
shell>docker pull registry:2 下载registry:2镜像
shell>docker image ls 查看下载的镜像

2、运行镜像
shell>docker run -d -p 5000:5000 -v /myregistry:/var/lib/registry registry:2
-d 后台运行
-p 将容器的短裤哦5000映射到Host的5000端口,5000端口是registry的服务端口
-v 将容器的/var/lib/registry目录映射到Host的/myregistry,用于存放镜像数据
--name 为运行的容器命名

shell> docker ps 查看容器是否运行成功

3、添加私库地址
shell>vim /usr/lib/systemd/sysystem/docker.service
ExecStart= 行中加入... insecure-registry 10.10.10.10:5000

4、修改后重启registry服务
systemctl restart docker
docker start registry容器ID //重启registry服务

shell>docker info 查看是否添加成功
Insecure Registries:10.10.10.10:5000

三、测试

1、拉取一个测试镜像并打tag
shell>docker pull busybox:laster
shell>docker tag busybox:latest 10.10.10.10:5000/busybox:v1
注:
repository 的完整格式为:[registry-host]:[port]/[username]/xxx
Docker Hub 上的镜像可以省略 [registry-host]:[port]

2、提交busybox到本地仓库
shell>docker push 10.10.10.10:5000/busybox:v1

3、删除关于busybox的镜像
shell>docker rmi 10.10.204.38:5000/busybox:v1 busybox
shell>docker image ls 核实没有busybox包

4、拉取busybox:v1镜像
shell>docker pull 10.10.204.38:5000/busybox:v1
shell>docker image ls

测试完成

猜你喜欢

转载自blog.51cto.com/7603402/2176150