Docker核心技术之仓库

简介: Docker核心技术之仓库

一、Docker 仓库简介



什么是Docker仓库


Docker仓库就是存放docker镜像并有docker pull方法下载的云环境


Docker仓库分为公有仓库和私有仓库。


公有仓库指Docker Hub(官方)等开放给用户使用、允许用户管理镜像。    


私有仓库指由用户自行搭建的存放镜像的云环境。


二、Docker 私有仓库搭建



搭建无认证私有仓库


第一步:在需要搭建仓库的服务器上安装docker。


第二步:在服务器上,从docker hub下载registry仓库     docker pull registry


第三步:在服务器上,启动仓库    


         

docker run -d -ti --restart always\             
                                        --name my-registry\             
                                        -p 8000:5000\             
                                        -v /my-registry/registry:/var/lib/registry\      
                                         registry


注意:registry内部对外开放端口是5000。默认情况下,会镜像存放于容器内的/var/lib/registry(官网Dockerfile中查看)目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失。


本地利用curl 服务器IP:8000/v2/_catalog  查看当前仓库中的存放的镜像列表。(注意打开8000端口访问)


私有仓库--上传、下载镜像



第一步:利用docker tag重命名需要上传的镜像

       

docker tag IMAGE 服务器IP:端口/IMAGE_NAME


第二步:利用docker push上传刚刚重命名的镜像    


docker push 服务器IP:端口/centos


注意:     必须重命名为服务器IP:端口/IMAGE_NAME    


如果push出现了类似https的错误那么需要往配置文件/etc/docker/daemon.json里添加:”insecure-registries”:[“服务器IP:端口”]       然后重启docker。


搭建带认证的私有仓库(一)



在服务器上:  


         第一步:删除先前创建的无认证的仓库容器        


docker rm -f my-registry


         第二步:创建存放认证用户名和密码的文件:      


mkdir /my-registry/auth -p


         第三步:创建密码验证文件。注意将将USERNAME和PASSWORD替换为设置的用户名和密码        


docker run --entrypoint htpasswd registry -Bbn USERNAME PASSWORD > /my-registry/auth/htpasswd


         第四步:重新启动仓库镜像


docker run -d -p 8000:5000 --restart=always --name docker-registry \
          -v /my-registry/registry:/var/lib/registry \
          -v /my-registry/auth:/auth \
          -e "REGISTRY_AUTH=htpasswd" \
          -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
          -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
          registry


带认证的私有仓库 -上传、下载镜像



在本地机器上:    


         第一步:首先登录到服务器        


docker login -u username -p password 47.94.153.230:8000


         第二步:然后执行pull或者push命令    


         第三步:操作完毕后,可以退出登录


docker logout 47.94.153.230:8000


这是如果想查看仓库中已有的镜像,那么需要进行http验证才可以。可以直接借助浏览器访问47.94.153.230:8000/v2/_catalog就可以访问了


注意这里:47.94.153.230指服务器IP


三、总结



重点掌握: 私有仓库搭建(安全)


目录
相关文章
|
15天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
20天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
278 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
8天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
12天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
15天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
29天前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
42 3
|
10天前
|
Kubernetes Docker 容器
掌握Docker容器化技术:从入门到实战
掌握Docker容器化技术:从入门到实战
18 0
|
15天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术
|
1月前
|
存储 Kubernetes 监控
深入探索Docker容器化技术的奥秘
【10月更文挑战第15天】深入探索Docker容器化技术的奥秘
18 0
下一篇
无影云桌面