hub.docker.com上可以保存镜像,但是网速相对较慢,在内部环境中搭建一个私有的公共仓库是个更好的方案,今天我们就来实战搭建私有docker仓库吧;
需要两台机器:docker私服仓库的server和使用docker的普通机器,这两个机器都是ubuntu16版本的server,ip信息如下:
机器名 | ip | 功能 |
---|---|---|
docker-registry | 192.168.119.148 | docker私有仓库服务器 |
docker-app | 192.168.119.155 | 运行docker服务的普通服务器 |
本次实战中,上述两台机器是vmware上创建的两个虚拟机,都安装了docker服务,详细的创建和安装过程,请参照《rancher下的kubernetes之一:构建标准化vmware镜像》,记得在vmware中给两个镜像把名字分别改成“docker-registry”和“docker-app”,以免后面搞错了;
虚拟机启动后,请先修改/etc/hostname文件,将两个机器的hostname分别修改成“docker-registry”和“docker-app”,然后用reboot命令重启;
docker run --name docker-registry -d -p 5000:5000 registry
容器正常启动,对外提供服务通过5000端口映射到docker-registry的5000端口;
{"repositories":[]}
OK,私有仓库已经创建和启动完毕了,接下来试试如何使用吧;
正常情况下,应用服务器推送镜像到仓库用的是https,此处我们通过命令行来测试推送用的是普通的http,所以需要修改docker的启动参数,使之允许以http协议工作;
systemctl daemon-reload;service docker restart
docker tag 3dcfe809147d 192.168.119.148:5000/tomcat
docker push 192.168.119.148:5000/tomcat
可以看到顺利进行中,如下图:
docker rmi 192.168.119.148:5000/tomcat tomcat
docker run --name tomcat001 -p 8080:8080 -idt 192.168.119.148:5000/tomcat
至此本次实战就结束了,希望能对您的私有仓库搭建有所帮助。