• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gys001
博客园    首页    新随笔    联系   管理    订阅  订阅

centos7搭建使用本地私有仓——Docker Registry

创建私有库

Docker Registry是官方提供的工具,可以用于构建私有镜像仓库,将本地镜像推送到私有库

运行私有库Registry,相当于本地有个私有Docker hub

[root@docker ~]# docker pull registry
[root@docker ~]# docker run -d -p 5000:5000 -v /test/myregistry/:/tmp/registry --privileged=true registry

默认情况,仓库被创建在容器的/var/lib/registry目录下,建议自行用容器卷映射,方便于宿主机联调

curl验证私服库上有什么镜像

以下三种方式皆可

[root@docker ~]# curl -XGET http://192.168.1.13:5000/v2/_catalog
[root@docker ~]# curl http://192.168.1.13:5000/v2/_catalog 推荐
[root@docker ~]# curl 192.168.1.13:5000/v2/_catalog

案例演示创建一个新镜像

ubuntu安装ifconfig命令

[root@docker ~]# docker run -it ubuntu /bin/bash
root@77e8ed23aab1:
/# ifconfig bash: ifconfig: command not found root@77e8ed23aab1:/# apt-get update root@77e8ed23aab1:/# apt-get install net-tools root@77e8ed23aab1:/# ifconfig root@77e8ed23aab1:/# exit
[root@docker
~]# docker commit -m "add ifconfig ok" 77e8ed23aab1 myubuntu:v1.3 [root@docker ~]# docker images | grep ubuntu

将新镜像修改符合私服规范的Tag

docker tag 镜像:Tag Host:Port/Repository:Tag

使用命令 docker tag 将myubuntu:v1.3 这个镜像修改为192.168.1.12:5000/myubuntu:v1.3

[root@docker ~]# docker tag myubuntu:v1.3 192.168.1.13:5000/myubuntu:v1.3
[root@docker ~]# docker images | grep ubuntu

修改配置文件使之支持http

docker默认不允许http方式推送镜像,通过配置选项来取消这个限制

2个配置中间有个逗号 ','别漏了,这个配置是json格式的。

[root@docker ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://xxxxxxxxx.mirror.aliyuncs.com"],
"insecure-registries": ["192.168.1.13:5000"]
}

[root@docker ~]# systemctl daemon-reload
[root@docker ~]# systemctl restart docker
[root@docker ~]# systemctl status docker
[root@docker ~]# docker ps
[root@docker ~]# docker run -d -p 5000:5000 -v /test/myregistry/:/tmp/registry --privileged=true registry

push推送到私服库并验证

curl http://仓库IP:5000/v2/_catalog

curl http://仓库IP:5000/v2/镜像名称/tags/list

[root@docker ~]# docker images
[root@docker ~]# docker push 192.168.1.13:5000/myubuntu:v1.3
查看镜像标签
[root@docker ~]# curl http://192.168.1.13:5000/v2/_catalog     
查看镜像标签
[root@docker ~]# curl http://192.168.1.13:5000/v2/myubuntu/tags/list     

pull到本地并运行
[root@docker ~]# docker rmi -f 192.168.1.13:5000/myubuntu:v1.3 删除本地镜像
[root@docker ~]# docker images | grep 192.168.1.13:5000/myubuntu
[root@docker
~]# docker pull 192.168.1.13:5000/myubuntu:v1.3 拉取私有仓库镜像 [root@docker ~]# docker images | grep 192.168.1.13:5000/myubuntu [root@docker ~]# docker run -it 0d519c8dab4b /bin/bash root@b0b1eb949e73:/# ifconfig

参考

尚硅谷2022版Docker实战教程  https://www.bilibili.com/video/BV1gr4y1U7CY

https://www.yuque.com/tmfl/cloud/ay9g1r
https://www.yuque.com/fairy-era/yg511q/lb7t23

 

posted @ 2022-10-20 15:15  gys001  阅读(225)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3