搭建Docker私有仓库

准备两台Centos7系统的服务器

环境准备

服务器系统 Centos7.7
内存 1G
CPU 2核
IP地址 10.0.0.43
服务器系统 Centos7.3
内存 1G
CPU 2核
IP地址 10.0.0.44

搭建Docker私有仓库_第1张图片

搭建Docker私有仓库_第2张图片

先在43主机上操作

 docker save -o nginx.tar nginx:1.1

搭建Docker私有仓库_第3张图片

docker rmi nginx:1.1  
docker stop df0f22488230 
docker rm df0f22488230
docker rmi nginx:1.1  

搭建Docker私有仓库_第4张图片

假如镜像被删除,模拟镜像

镜像的导出和导入

docker load -i nginx.tar 

搭建Docker私有仓库_第5张图片

docker export -o redis.tar 48aab1e5eded  

搭建Docker私有仓库_第6张图片

docker stop redis 
docker rmi redis:1.1 

搭建Docker私有仓库_第7张图片

导入进来的同时并更改镜像名称
docker import redis.tar redis:1.2

搭建Docker私有仓库_第8张图片

docker inspect redis:1.2 
docker run  -p 6379:6379 --name redis -d redis:1.2  redis-server /etc/redis.conf

搭建Docker私有仓库_第9张图片

需要注意,使用docker import导入的镜像,再基于该镜像创建容器时,一定要跟上要执行的command

用export导出的时候 默认命令没有保存下来,如果需要导入的时候,需要基于导出的镜像创建容器的话后面跟需要执行的COMMAND命令,不跟会直接报错

du -h nginx.tar 
docker search registry

搭建Docker私有仓库_第10张图片

docker run -d -p 5000:5000 --restart always registry
vim /etc/sysctl.conf 
net.ipv4.ip_forward=1

搭建Docker私有仓库_第11张图片

systemctl restart docker

在44主机上操作

vim /etc/docker/daemon.json 
{ "insecure-registries":["10.0.0.43:5000"] }
vim /etc/sysctl.conf 
net.ipv4.ip_forward=1
sysctl -p

搭建Docker私有仓库_第12张图片
搭建Docker私有仓库_第13张图片

搭建Docker私有仓库_第14张图片

搭建Docker私有仓库_第15张图片

systemctl restart docker
docker tag redis:1.2 10.0.0.43:5000/redis:1.2
docker push 10.0.0.43:5000/redis:1.2

搭建Docker私有仓库_第16张图片

搭建Docker私有仓库_第17张图片

docker tag nginx:1.1 10.0.0.43:5000/nginx:1.1
docker push  10.0.0.43:5000/nginx:1.1

搭建Docker私有仓库_第18张图片

搭建Docker私有仓库_第19张图片

搭建Docker私有仓库_第20张图片

创建一个私有仓库

docker run -d -p 5000:5000 --restart always registry

向仓库中推送镜像

docker tag nginx:1.1 10.0.0.43:5000/nginx:1.1
docker push  10.0.0.43:5000/nginx:1.1
docker pull 10.0.0.43:5000/nginx:1.1

查看私有仓库的镜像列表

http://IP:5000/v2/_catalog
http://10.0.0.43:5000/v2/_catalog

查看某个镜像的标签

http://IP:5000/v2/镜像名/tags/list     
http://10.0.0.43:5000/v2/redis/tags/list

你可能感兴趣的:(搭建Docker私有仓库)