首页 >运维 >Docker >docker镜像仓库有什么用

docker镜像仓库有什么用

WBOY
WBOY原创
2022-07-28 16:14:522900浏览

在docker中,镜像仓库的主要作用是存储和分发docker镜像;镜像仓库是几种存放镜像的地方,镜像仓库可以分为远程仓库和本地仓库两种,远程仓库可以理解成云仓库、公有仓库,是由某个组织、公司维护的仓库,本地仓库可以理解为私有仓库,不对外开放。

docker镜像仓库有什么用

本教程操作环境:linux7.3系统、docker19.03版、Dell G3电脑。

docker镜像仓库有什么用

镜像,可以理解为将应用程序和运行环境打包成“应用模板”,是容器的上层抽象。容器是镜像的运行实例,启动时传入相应的参数,即可运行应用程序。二者的关系类似于代码中的“类和对象”。

要以容器的方式运行应用程序,需要先制作镜像,在镜像中指定应用程序的运行环境、启动方式等信息,然后生成镜像、上传到镜像仓库中。后续要运行这个应用程序时,就会从镜像仓库中拉取这个镜像、然后以容器的方式运行。只要操作系统支持容器运行,就可以运行这个应用程序,屏蔽了环境差异,使部署运行变得简洁。

镜像仓库可分为2种:

  • 远程仓库:可以理解成云仓库、公有仓库,是由某个组织、公司维护的仓库,对互联网开放,所有人共享。如官方的仓库; 

  • 本地仓库:可以理解为公司的私有仓库,不对外开放。一般情况下只在公司内网中使用,用于加快镜像拉取速度、维护公司资产。

目前 Docker 官方维护了一个公共仓库Docker Hub ,大部分需求都可以通 过在 Docker Hub 中直接下载镜像来实现。如果你觉得拉取 Docker Hub 的镜像比较慢的话,我们可以配置一个镜像加速器,当然国内大部分云厂 商都提供了相应的加速器,简单配置即可。

镜像是docker的基础,我们可以从docker.hub官方共有的仓库去拉取镜像,也可以自己去建立自己的私有仓库

扩展知识

搭建镜像仓库

首先,下载Registry镜像并启动

docker pull registry

然后,运行一个Registry镜像仓库的容器实例

最后,在客户端查看镜像仓库中的所有镜像

curl http://your-server-ip:5000/v2/_catalog

上传镜像

首先,为了让客户端服务器能够快速地访问刚刚在服务端搭建的镜像仓库(默认情况下是需要配置HTTPS证书的),这里简单在客户端配置一下私有仓库的可信任设置让我们可以通过HTTP直接访问:

vim /etc/docker/daemon.json

加上下面这一句,这里的“your-server-ip”请换为你的服务器的外网IP地址:

{
"insecure-registries" : [ "your-server-ip:5000" ]
}

PS:如果不设置可信任源,又没有配置HTTPS证书,那么会遇到这个错误:error: Get https://ip:port/v1/_ping: http: server gave HTTP response to HTTPS client.

为了使得配置生效,重新启动docker服务:# systemctl restart docker

其次,为要上传的镜像打Tag

docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname
最后,开始正式上传镜像到服务端镜像仓库
docker push your-registry-server-ip:5000/your-image-name:tagname

下载镜像

下载镜像就很简单了,使用pull命令即可:

docker pull your-server-ip:5000/your-image-name:tagname

如果想要知道要下载的镜像都有哪些tag(或版本),可以通过下面这个api来获取:

curl http://your-server-ip:5000/v2/your-image-name/tags/list

推荐学习:《docker视频教程

以上是docker镜像仓库有什么用的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn