一、下载安装registry
1.首先要有docker环境 查看docker版本
sudo docker version
2.然后下载registry:
sudo docker pull registry
3.下载完启动 :
sudo docker run -d -p 5000:5000 -v /opt/registry/data:/var/lib/registry --privileged=true --restart=always --name registry registry:latest
4.查看sudo docker ps -a
5.打开浏览器访问http://192.168.21.65:5000/v2/,出现下图表示安装成功。
二、拉取镜像
1. 如果本地没有镜像的可以拉取镜像
先从官方Docker Hub上拉取busybox镜像
docker pull busybox
2.修改该镜像的tag
docker tag docker.io/busybox:latest 192.168.21.65:5000/busybox:latest
3.推送该镜像到Registry私有仓库
docker push 192.168.21.65:5000/busybox:latest
因为Docker与Docker Registry交互默认使用https,然而此处搭建的Docker Registry只提供http服务,所以当和Registry私有仓库交互时会失败,为了解决这个问题需要在启动Docker时配置Registry不安全选项。
需要去修改下面的文件内容
vi /etc/docker/daemon.json
{
“registry-mirrors”: [
“http://68cdf6cf.m.daocloud.io”
],
“insecure-registries”:[“192.168.21.65:5000”]
}
4.vi /etc/docker/daemon.json
{
"registry-mirrors": [
"http://68cdf6cf.m.daocloud.io"
],
"insecure-registries":["192.168.21.65:5000"]
}
5.重启Docker,并重启registry容器。
systemctl restart docker
docker start registry
6.重新推送busybox镜像到Registry私有仓库,并成功。
docker push 192.168.21.65:5000/busybox:latest
查看
7.同理,可以从docker registry上拉取镜像
docker pull 192.168.232.25:5000/busybox:latest
三、然后就可以上传自己写好的docker images了,这是我自己写好的镜像
执行修改tag并且push到服务器
docker tag smart-ele-dispatch:latest 192.168.21.65:5000/smart-ele-dispatch:latest
docker push 192.168.21.65:5000/smart-ele-dispatch:latest
docker tag smart-ele-api:latest 192.168.21.65:5000/smart-ele-api:latest
docker push 192.168.21.65:5000/smart-ele-api:latest
docker tag java:1.8 192.168.21.65:5000/java:1.8
docker push 192.168.21.65:5000/java:1.8
结果:就都可以pull到私服了
查看 192.168.21.65:5000/v2/_catalog
也可以用另一台服务器下载
例子:sudo docker pull 192.168.21.65:5000/smart-ele-api:lastest