Docker入门——仓库
1、什么是docker仓库
Docker仓库是一个集中存放镜像的地方,它可以分为公共仓库和私有仓库。注册服务器是存放仓库的具体服务器,一个注册服务器上可以有多个仓库,而每个仓库下面可以有多个镜像。Docker Hub是Docker官方提供的最大的公共镜像仓库,目前包括了超过100,000的镜像]。您可以在Docker Hub上创建账户并上传您自己的镜像,也可以浏览其他用户上传的镜像。
2、docker公有仓库的地址有哪些
docker官方镜像仓库 :https://hub.docker.com
阿里云docker镜像仓库:https://registry.cn-hangzhou.aliyuncs.com/
3、如何部署docker私有仓库
3.1 要部署Docker私有仓库,您可以使用官方提供的工具docker-registry。
以下是一些步骤:
-
安装Docker-registry。您可以通过获取官方registry镜像来运行。默认情况下,仓库会被创建在容器的/var/lib/registry目录下。您可以通过-v参数来将镜像文件存放在本地的指定路径。例如,以下命令将在本地/opt/data/registry目录下创建一个名为registry的容器:
[root@localhost ~]# mkdir /var/lib/registry [root@localhost ~]# docker run --name registry -d -p 5000:5000 --restart=always -v /opt/data/registry:/var/lib/registry registry
-
配置Docker客户端以使用私有仓库。您需要在Docker客户端中配置一个文件,以便它知道如何访问私有仓库。该文件位于
/etc/docker/daemon.json
中,如果该文件不存在,请新建该文件并添加以下内容:[root@localhost ~]# cat /etc/docker/daemon.json { "registry-mirrors" : [ "https://docker.mirrors.ustc.edu.cn/" ], "insecure-registries" : ["10.0.0.56:5000"] } [root@localhost ~]# systemctl daemon-reload [root@localhost ~]# systemctl restart docker
-
推送和拉取镜像。现在,您可以使用
docker push
和docker pull
命令来推送和拉取镜像了。例如,以下命令将名为my-image
的镜像推送到私有仓库:#查看现有镜像 [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE my-nginx latest 3ba69597200b 24 hours ago 187MB my-nginx1 latest 0dfb846012b7 24 hours ago 187MB #为my-nginx镜像打上标签并推送到私有仓库 [root@localhost ~]# docker tag my-nginx 10.0.0.56:5000/my-nginx [root@localhost ~]# docker push 10.0.0.56:5000/my-nginx
3.2 您还可以选择第三方工具harbor来部署私有仓库
以下是一些步骤:
1、从github上下载harbor包
[root@localhost ~]# wget https://github.com/goharbor/harbor/releases/download/v1.10.4/harbor-offline-installer-v1.10.4.tgz
#解压
[root@localhost ~]# tar -xzvf harbor-offline-installer-v1.10.4.tgz
[root@localhost ~]# cd harbor/
#修改配置文件
[root@localhost harbor]# vim harbor.yml
#配置看下图
#执行安装脚本
[root@localhost harbor]# ./install.sh
Creating harbor-jobservice ...
Creating nginx ...
✔ ----Harbor has been installed and started successfully.----
安装完成后可进入网页查看
如何推送镜像
其它功能可自行研究
4、docker仓库操作相关命令
以下是一些使用Docker仓库相关的命令:
docker login:用于登录到Docker仓库。
docker logout:用于退出Docker仓库。
docker pull:用于从Docker仓库中拉取镜像。
docker push:用于将镜像推送到Docker仓库。
docker search:用于在Docker仓库中搜索镜像。
docker images:用于列出本地主机上存在的所有镜像。
docker rmi:用于删除一个或多个本地镜像。
docker save:用于将一个或多个镜像保存为tar归档文件。
docker load:用于从一个tar归档文件中加载一个或多个镜像。
docker inspect:用于获取有关Docker对象的详细信息,包括镜像、容器、网络和卷等。
希望大家一起共同学习,共同进步。
本篇内容到此结束,感谢大家观看!