IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Docker学习:部署本地私有镜像仓库registry (高级应用) -> 正文阅读

[系统运维]Docker学习:部署本地私有镜像仓库registry (高级应用)

前言

本讲是从Docker系列讲解课程,单独抽离出来的一个小节,前些章节主要是理论+实战,本节讲述Docker高级应用registry本地仓库的部署和使用。

由于该镜像仓库比较单一,实际生产环境很少有公司使用,所以不做为重点学习,了解即可。主要了解它的一些使用原理、docker push的使用,以及daemo.json的简单配置。

它是一个非常简单的轻量级本地私有仓库,通过push命令,存储本地(自定义)镜像到私有仓库registry

镜像名称常用命名规则:${registry_name}/${repository_name}/$image_name}:$tag_name}

远端仓库地址urI/分类仓库名字/镜像名字:标签名字
示例: harbor.test.com/test/nginx:v1

预告:学习过程中,重点了解docker tagdocker push两个命令,同时简单了解一下通过/etc/docker/daemon.json来简单配置registry本地私有仓库。在学习过程,配置文件少一个逗号,tag时少一个标签,或者忘记了重新生效配置文件都有可能导致报错。?

一、部署本地私有镜像仓库registry步骤

1.docker pull 拉取私有镜像仓库到本地

docker pull registry
docker images

2.docker run 启动私有镜像仓库

docker run -d -p 5000:5000 --restart=always --name registry registry:latest

知识点:1、了解到registry它的默认端口是5000;2、简单了解--restart=always的使用,它的含义是容器出现故障时默认无限次的尝试重启。

ifconfig  #查看宿主机ens33/eth0网卡的IP地址

?可以获悉ip 192.168.31.100?

1.启动后,直接访问IP:5000端口,访问不到任何内容

http://192.168.31.100:5000

2.正确的访问方式/v2/_catalog

http://192.168.31.100:5000/v2/_catalog

看到界面,说明容器已经访问成功,仅仅是目前私有仓库中没有存储镜像而已

3.编辑docker配置文件

cp /etc/docker/daemon.json daeon.json.backup  #修改前先做备份,便于实验结束后还原
vim /etc/docker/daemon.json   #编辑配置文件,修改registry仓库地址
"insecure-registries":["registry.access.redhat.com","quay.io","192.168.31.100:5000"],
"exec-opts":["native.cgroupdriver=systemd"],
"live-restore":true

?注:配置registry仓库的ip地址,可以是远程云服务器的ip地址。

?特别注意:配置信息除最后一行外,每行末尾都有一个英文的逗号否则docker无法重启

systemctl daemon-reload   # 重载配置文件
systemctl restart docker  # 重启docker

??

4.尝试把本地的nginx镜像上传到私有镜像仓库registry

docker images #查看已有镜像
docker tag nginx:alpine 192.168.31.100:5000/test/mynginx:v1  #给已有镜像打标签
docker images #查看是否标记成功
docker push 192.168.31.100:5000/test/mynginx:v1              #上传镜像到私有仓库

docker tag语法:docker tag image_name:tag??repository_name/self_image_name:tag

注:repository_name需要和daemon.json中配置的地址一致,写错或者不写,在push时都会报如下错误:docker denied: requested access to the resource is denied?

注意:1、push前需要给将要上传的镜像打tag;2、push时需要给镜像指定tag标签,否则会push失败。?

5.本地浏览器,再次通过IP:5000访问容器

http://192.168.31.100:5000/v2/_catalog

访问成功,说明镜像已经成功上传到registry私有仓库中。?

6.下载本地仓库中的镜像

1.先移除本地已有镜像

docker images 
docker rmi 192.168.31.100:5000/test/mynginx:v1  #移除本地已有镜像,便于稍后从私有仓库重新下载
docker images 

2.从私有仓库中重新拉取镜像

docker pull 192.168.31.100:5000/test/mynginx:v1  #拉取时,前面需要携带私有仓库地址,尾部需要携带tag标签
docker images #查看是否拉取成功

7.收尾工作

为不影响其他实验,还原/etc/docker/daemon.json文件的文本内容。

docker rmi 192.168.31.100:5000/test/mynginx:v1   #删除镜像
docker rm -f registry:latest  #移除容器
rm /etc/docker/daemon.json    #移除配置的配置文件
mv /etc/docker/daemon.json.backup  /etc/docker/daemon.json  #还原备份文件
systemctl daemon-reload   # 重载配置文件
systemctl restart docker  # 重启docker

二、总结

本讲重点学习了registry的配置(在/etc/docker/daemon.json),并了解"live-restore":true的使用(详情见一.2);在学习过程中,着重了解docker tagdocker push两个命令的使用。当然,中间的坑本文已经尽可能的为你规避掉,如有疑问可留言共同探讨。

registry仅提供一个存储镜像的地方,它只简单的展示了私有仓库的镜像名称和tag,无法查看私有仓库更详细信息。实际生产环境很少用到registry私有仓库,所以下章节继续学习:Harbor企业级仓库

尾言

本讲内容是从?Docker入门到进阶里面抽离出来的内容,尽管知识点比较简单,也是docker学习路上不可或缺的一部分。希望对大家有所帮助,不当之处,望批评指正,学习路上,一起踩坑、一起砥砺前行!

附注

猜你可能会感兴趣的内容

1、Docker外部浏览器访问容器 | 容器访问容器 | 访问容器的常用5种方式 | -p -P 详解

2、Docker容器五种(3+2)网络模式 | bridge模式 | host模式 | none模式 | container 模式 | 自定义网络模式详解

3、Docker容器间数据挂载与共享 | 远程共享&挂载数据卷 | sshfs挂载远程volume | 容器内部通过sshfs访问远程主机

4、Docker跨宿主机通信 | overlay和macvlay

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 11:23:53  更:2022-02-04 11:24:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 8:30:41-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码