什么是registry呢?
简单的说就是自己的仓库,自己做好的镜像往上面push,用的时候再拉下来就可以了。
1、从docker仓库拉registry私服仓库镜像(我本机配了啊里的加速所以比较快)
[root@t2 ~]# docker pull registry
#查看刚刚拉下来的镜像:
[root@t2 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry latest 2d4f4b5309b1 10 days ago 26.2MB
2、启动registry
[root@t2 ~]# docker run -d -p 5000:5000 --name myregistry --restart=always registry
#参数解释:
run #启动指令
-d #后台运行
-p #端口映射 宿主机端口:容器端口
--name #自定义容器名字
--restart #重启docker时,registry跟随自启
registry #registry[:tag] 默认拉取最新版:latest
#启动后查看状态:
3、给另外的docker添加registry
#给另外的docker添加刚刚我们新建的registry
#也可以在registry搭建这台做操作(自己虚拟机的话可以这样搞)
[root@tzh ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.47.189:5000"]
}
systemctl daemon-reload #重载docker配置
systemctl restart docker #重启docker服务
docker info #查看docker信息确认仓库是否添加
4、使用registry,镜像推送&拉取
#在190拉取镜像
docker pull tomcat
#给刚刚pull下来的镜像改名
注意命令规范!!!! ip(或者域名):端口/镜像名字:tag
docker tag tomcat 192.168.47.190:5000/tomcat:v1
#推送镜像
push 192.168.47.190:5000/tomcat:v1
#再推一个
docker pull nginx
docker tag nginx 192.168.47.190:5000/nginx:v1
docker push 192.168.47.190:5000/nginx:v1
#################成功push
[root@t2 ~]# docker push 192.168.47.190:5000/nginx:v1
The push refers to repository [192.168.47.190:5000/nginx]
f978b9ed3f26: Pushed
9040af41bb66: Pushed
7c7d7f446182: Pushed
d4cf327d8ef5: Pushed
13cb14c2acd3: Pushed
v1: digest: sha256:0efad4d09a419dc6d574c3c3baacb804a530acd61d5eba72cb1f14e1f5ac0c8f size: 1362
到此registry搭建成功,也可以使用。