docker-仓库
1.docker的仓库概念
仓库(Repository)是集中存放镜像的地方。Docker仓库是用来包含镜像的位置,Docker提供一个注册服务器(Registry)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是Docker Hub公共仓库。Docker Hub是Docker公司维护的公共仓库,用户可以免费使用,也可以购买私有仓库。
2.docker私有仓库
docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。
2.1 安装运行 docker-registry
创建挂载点
[root@VM-4-13-centos opt]# mkdir -p /opt/registry
创建容器
[root@VM-4-13-centos opt]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2
这将使用官方的 registry 镜像来启动本地的私有仓库。 用户可以通过指定参数来配置私有仓库位置。
浏览器访问http://IP:5000/v2,出现{}说明registry运行正常。
2.2 推送镜像到私有仓库
[root@VM-4-13-centos opt]# docker tag registry:2 43.143.98.52:5000/registry:2 [root@VM-4-13-centos opt]# docker push 43.143.98.52:5000/registry:2 The push refers to repository [43.143.98.52:5000/registry] Get https://43.143.98.52:5000/v2/: http: server gave HTTP response to HTTPS client
解决:docker私有仓库服务器,默认是基于https传输的,所以我们需要在客户端127.0.0.1做相关设置,不使用https传输。
解决步骤:
1)[root@VM-4-13-centos opt]# vi /etc/docker/daemon.json
[root@VM-4-13-centos v2]# cat /etc/docker/daemon.json { "data-root": "/home/lib/docker", "insecure-registries":["43.143.98.52:5000"] }
2)重启docker
[root@VM-4-13-centos opt]# systemctl daemon-reload [root@VM-4-13-centos opt]# systemctl restart docker
3)启动registry镜像
[root@VM-4-13-centos opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5bc0836c3f25 centos "/bin/bash" 11 minutes ago Exited (0) 11 minutes ago zealous_blackburn 172f59d48482 registry:2 "/entrypoint.sh /etc…" 15 minutes ago Exited (2) 3 minutes ago myregistry [root@VM-4-13-centos opt]# docker start 172f59d48482 172f59d48482
2.3 重新推送镜像到私有仓库
[root@VM-4-13-centos opt]# docker push 43.143.98.52:5000/registry:2 The push refers to repository [43.143.98.52:5000/registry] 85f82aceeda3: Pushed f79c4d8837b6: Pushed 90d6ca1e837f: Pushed f4285c491509: Pushed 4693057ce236: Pushed 2: digest: sha256:da1fbcd13a7ddc77d0d964a5c5c4cb707b5d440a028b0b42fe574b9e99077e27 size: 1363
2.4 访问http://43.143.98.52:5000/v2/_catalog 私有仓库目录,可以查看刚刚上传的镜像
2.4 下载私有仓库的镜像
[root@VM-4-13-centos cangku]# docker pull 43.143.98.52:5000/registry:2 2: Pulling from registry Digest: sha256:da1fbcd13a7ddc77d0d964a5c5c4cb707b5d440a028b0b42fe574b9e99077e27 Status: Image is up to date for 43.143.98.52:5000/registry:2
分类:
Docker
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通