六、 搭建私有镜像仓库
hub.docker.com/explore
原因:每次从公共仓库下比较慢,搭建个私有仓库,可以供内网使用。(我把构建好的镜像传到这里,同事也可以从这个镜像仓库下载)
1. 搭建私有仓库:
(1) 搭建
docker pull registry
docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
curl 192.168.247.128:5000/v2/_catalog,访问结果如下:
(2)把本地镜像push到私有仓库
现在我想把本地tomcat:v1镜像传到仓库里,(tomcat1镜像的创建参考构建五、4节)
打个标签,说明跟wordpress引用的是一个镜像。tag说明是来源哪个镜像,
docker tag tomcat :v1 192.168.247.128:5000/tomcat:v1 #(tomcat:v1必须已存在)
docker push 192.168.247.128:5000/tomcat:v1
GET https://192.168.247.128:5000/v2: http:server gave HTTP response to HTTPS client
必须得让docker客户端信任这个,就算是http也可以传输
解决办法:
vim /etc/docker/daemon.son
{"registry-mirrors": ["http://04be47cf.m.daocloud.io"],"insecure-registries": ["172.16.100.175:5000"]}
service docker restart
再push一下,就不会报错了
docker push 192.168.247.128:5000/tomcat:v1
curl 192.168.247.128:5000/v2/_catalog
curl http://192.168.247.128:5000/v2/tomcat/tags/list #获取镜像的所有版版本
(3)测试从私有仓库下载镜像是否成功
先删掉本地的tomcat:v1
docker rmi -f tomcat:v1 192.168.247.128:5000/tomcat:v1
docker pull 192.168.247.128:5000/tomcat:v1 #把私有仓库的这个镜像下载下来
docker run -itd --name -p 89:8080 tomcat 192.168.247.128:5000/tomcat:v1 #生成容器
通过浏览器访问:
2. docker hub 公共镜像仓库使用
详细步骤
1. 注册账号
https://hub.docker.com (https://hub.docker.com/ songyt/登录密码
一个服务可以创建一个repository
docker tag tomcat songyt/tomcat:v1
docker push songyt/tomcat:v1
需要先登陆
docker login(songyt/登录密码)
再次上传
docker push songyt/tomcat:v1
成功了!
再上传第二个版本
docker tag tomcat:v1 songyt/tomcat:v2
上传完之后可以直接搜:
总结
1. 注册、登陆 dockerhub hub.docker.com
docker login或docker login --username=songyt --password=yiersandaoliu
2. 给镜像打标签 #docker tag songyt/tomcat:v1
3. push上传 #docker push songyut/tomcat:v1
4. pull下载 #docker pull songyt/songyt:v1
5. search测试 #docker search songyt