Docker自学纪实(六)搭建docker私有仓库
docker的镜像仓库分两种:一种是从官方公有仓库拉取;还有就是自己搭建私有仓库。
官方的镜像仓库是面对整个应用市场的;私有仓库一般用于公司内部,就是公司项目自身所需的镜像。
搭建私有仓库有什么好处?
私有仓库,是在公司内网服务器上搭建的,不受外网影响,响应时间快,而且方便整理。
OK,下面开始。
准备环境:centos7;docker;
搭建registry 私有仓库,上传httpd到私有仓库,下载验证。
1.首先从公共仓库拉取registry镜像和httpd镜像到本地,并运行。
1 拉取镜像:docker pull registry 2 运行:docker run -d -v /opt/registry:/var/lib/registry --name registry --restart=always -p 5000:5000 --privileged=true registry
-v 宿主机数据卷:容器数据卷。 --restart=always:容器总是开启,防止意外中断。-p 宿主机端口:容器端口。--privileged=true授予权限:
注意:启动registry容器时,如果不加--privileged=true参数,则上传镜像到私有仓库时可能出现问题:
2.给要上传的镜像打tag标签,上传。
1 添加标签:docker tag httpd 192.168.1.200:5000/apache:v1 2 删除标签:docker rmi httpd 192.168.1.200:5000/apache:v1 3 查看:docker images 4 上传:docker push 192.168.1.200:5000/apache:v1
注意:上传时可能会遇到问题导致上传失败,如:
解决方案:
修改daemon.json文件sudo vi /etc/docker/daemon.json
添加:{ "insecure-registries":["你私有仓库的主机IP:5000"]}
3.查看私有仓库。
1 curl http://192.168.1.200:5000/v2/_catalog 2 curl http://192.168.1.200:5000/v2/apache/tags/list
[ ]里面的是仓库里的镜像
4.从另一台机器拉取并启动apache容器。
注意:另一台机器也需要修改/etc/docker/daemon.json,添加:{ "insecure-registries":["你私有仓库的主机IP:5000"]}