Linux上搭建本地docker镜像仓库

主要用途是:如果你制作成了镜像,上传到私有镜像仓库后,不管你用哪个ECS服务器上可以轻松拉去镜像,不用每次都要重新手动创建镜像,方便使用。

1、拉取register镜像
docker pull registry:2  
这里用的是最新版本2


2、启动镜像register
docker run -d -p 5000:5000 --restart=always --name registry -v /home/Docker/registry:/var/lib/registry registry:2
说明:
-p 5000:5000 端口
--name=registry 运行的容器名称
--restart=always 自动重启
 -v /home/Docker/registry:/var/lib/registry 把主机的/home/Docker/registry目录挂载到registry容器的/var/lib/registry目录下
 registry:2  镜像名称

如图所示:


3、查看镜像和启动镜像容器
查看容器如下:docker ps 可以看到容器已经运行了

查看镜像如下:docker images 可以看到镜像


4、修改/etc/docker/daemon.json文件
如果在/etc/docker/目录下没有daemon.json文件,那么需要手动创建。touch daemon.json
下载文件如下:

{
"default-runtime": "nvidia",
"runtimes": {
    "nvidia": {
        "path": "/usr/bin/nvidia-container-runtime",
        "runtimeArgs": []
    }
},
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn", "https://hub-mirror.c.163.com"],
"insecure-registries":["47.105.0x.0x:5000"]
}

修改完成后执行一下操作
systemctl daemon-reload
systemctl restart docker

重点:如果启动失败,可能是有空格,请下载该文件

5、给对应的上传到镜像仓库的镜像打标签
首先要打包jdk镜像:https://blog.csdn.net/qq_39291929/article/details/115522984
docker tag jdk8  47.105.0x.0x:5000/jdk8:1.0
查看重新生成的镜像如下:


6、上传到私有的镜像仓库中
如果是阿里云服务器那么必须开放5000端口,不然无法上传
docker push 47.105.0x.0x:5000/jdk8:1.0



7、在上传的服务器上拉去远程私有镜像仓库的某个镜像
docker pull 47.105.0x.0x:5000/jdk8:1.0
如图所示:

 

8、在ECS客户端拉去远程私有仓库的镜像
必须部署:docker客户端将https请求更改为http请求, 将以下配置添加到 /etc/docker/daemon.json 中
在 /etc/docker/目录下创建daemon.json文件
{"insecure-registries":["47.105.0x.0x:5000"] } 
保存即可。其中47.105.0x.0x就是远程镜像仓库的ip地址
 

客户端重新加载并启动docker
systemctl daemon-reload
systemctl restart docker
如图所示:


可参考地址如下:https://blog.csdn.net/zsf10220208/article/details/98041080
https://blog.csdn.net/enter89/article/details/99689609

猜你喜欢

转载自blog.csdn.net/qq_39291929/article/details/115542099