私服的搭建也很简单,有了docker之后,只要去拉个registry进行起来就可以了。
1.拉取registry镜像
docker pull registry
2.映射镜像对应的宿主机目录,用于保存镜像
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry
3.尝试访问私服注册器,看是否启动成功
curl http://127.0.0.1:5000/v2/_catalog
然后在客户机中配置私服
1. 首先建立配置文件/etc/docker/daemon.json, 默认是没有的
#vim /etc/docker/daemon.json
{ "registry-mirrors": [ "https://registry.docker-cn.com"], "insecure-registries": [ "192.168.3.197:5000"] }
registry-mirrors 是国内的镜像服务器,以便于我们拉取docker hub中的镜像更快
insecure-registries 是非https的镜像服务器地址,我们的私服就是这一类
2. 重启一下docker服务
systemctl restart docker
3. 修改镜像标签
docker tag zhenggm/mydemo:latest 192.168.3.197:5000/mydemo
tag命令能将镜像标记为指定服务器的镜像,其命令格式
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
4. 将镜像推送到私服
docker push 192.168.3.197:5000/mydemo
docker push会检测镜像前缀,如果是服务器格式,推送到私服,如果是用户名格式,推送到docker hub.
5. 看下私服中私服存在已推送的镜像
curl http://192.168.3.197:5000/v2/_catalog
6. 删除本地的镜像,从私服上拉一个
docker rmi -f bfa336f49349 docker images
发现已经没有相关镜像了
docker pull 192.168.3.197:5000/mydemo
docker images
从私服上下载镜像成功。