docker 私有仓库的创建

2022-05-20  本文已影响0人  柠檬C927

docker中拉取镜像,一般都是通过 docker hub (在线存储库) 来获取的,在线存储库可以由任何用户发布和使用,但在涉及隐私项目或者公司处在内网就不太适用。
使用基于 registry镜像 来搭建我们自己的私有仓库,就能很好解决这个问题。

1、拉取registry指令,会默认拉取最新版本

docker pull registry

2、配置私有仓库地址

# 1、执行编辑路径,daemon.json文件原来没有的话,会新建的,可以用来配置docker
vim /etc/docker/daemon.json
# 2、加入"insecure-registries",IP是要配置私有仓库的ip地址
"insecure-registries":["192.168.62.33:5000"]
# 3、按esc 输入: wq 保存
# 4、保存之后重启一下
docker systemctl restart docker

image.png

3、创建容器

docker run -d -p 5000:5000 --name registry docker.io/registry

注意:docker.io一定不要漏了,不然创建不了。

4、重新加载配置

sudo systemctl daemon-reload

这样私有仓库就搭建好了,可以访问:http://192.168.62.33:5000/v2/_catalog 进行验证,如下图,此时仓库还是空的,没有任何镜像。

image.png

5、上传镜像到私有仓库

#1、标记hello-world该镜像需要推送到私有仓库
docker tag hello-world:latest 192.168.62.33:5000/hello-world:latest

#2、通过"push"指令推送到私有仓库
docker push 192.168.62.33:5000/hello-world:latest

如下图,hello-world就成功上传到了私有仓库中:


image.png
# "curl" 命令 查看仓库中的镜像
curl -X GET http://192.168.62.33:5000/v2/_catalog |python -m json.tool
# "curl" 命令 查看某个镜像的标签列表
curl -X GET http://192.168.62.33:5000/v2/hello-world/tags/list |python -m json.tool
# "curl" 命令 删除某个镜像的某个版本
curl -X DELETE http://192.168.62.33:5000/v2/hello-world/manifests/latest
image.png
上一篇下一篇

猜你喜欢

热点阅读