Docker镜像仓库

2023-05-16

一、搭建私有镜像仓库

常见镜像仓库服务

镜像仓库(Docker Registry )有公共的和私有的两种形式:
⑴ 公共仓库∶例如Docker官方的Docker Hub,国内也有一些云服务商提供类似于Docker Hub的公开服务,比如网易云镜像服务、DaoCloud镜像服务、阿里云镜像服务等。
⑵ 除了使用公开仓库外,用户还可以在本地搭建私有Docker Registry。企业自己的镜像最好是采用私有DockerRegistry来实现。

私有镜像仓库

1. 安装Docker

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。

Docker CE 分为 stable testnightly 三个更新频道。

官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。

2.CentOS安装Docker

Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。

2.1卸载(可选)

如果之前安装过旧版本的Docker,可以使用下面命令卸载:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

2.2.安装docker

首先需要大家虚拟机联网,安装yum工具

yum install -y yum-utils \
           device-mapper-persistent-data \
           lvm2 --skip-broken

然后更新本地镜像源:

# 设置docker镜像源
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repo

yum makecache fast

然后输入命令:

yum install -y docker-ce

docker-ce为社区免费版本。稍等片刻,docker即可安装成功。

2.3.启动docker

Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

启动docker前,一定要关闭防火墙后!!

# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld

通过命令启动docker:

systemctl start docker  # 启动docker服务

systemctl stop docker  # 停止docker服务

systemctl restart docker  # 重启docker服务

然后输入命令,可以查看docker版本:

docker -v

如图:
在这里插入图片描述

2.4.配置镜像加速

docker官方镜像仓库网速较差,我们需要设置国内镜像服务:

参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

3.CentOS7安装DockerCompose

3.1.下载

Linux下需要通过命令下载:

# 安装
curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果下载速度较慢,或者下载失败,可以使用课前资料提供的docker-compose文件:
在这里插入图片描述

上传到/usr/local/bin/目录也可以。

3.2.修改文件权限

修改文件权限:

# 修改权限
chmod +x /usr/local/bin/docker-compose

3.3.Base自动补全命令:

# 补全命令
curl -L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose > /etc/bash_completion.d/docker-compose

如果这里出现错误,需要修改自己的hosts文件:

echo "199.232.68.133 raw.githubusercontent.com" >> /etc/hosts

4.Docker镜像仓库

搭建镜像仓库可以基于Docker官方提供的DockerRegistry来实现。

官网地址:https://hub.docker.com//registry

4.1.简化版镜像仓库

Docker官方的Docker Registry是一个基础版本的Docker镜像仓库,具备仓库管理的完整功能,但是没有图形化界面。

搭建方式比较简单,命令如下:

docker run -d \
    --restart=always \
    --name registry	\
    -p 5000:5000 \
    -v registry-data:/var/lib/registry \
    registry

命令中挂载了一个数据卷registry-data到容器内的/var/lib/registry 目录,这是私有镜像库存放数据的目录。

访问http://YourIp:5000/v2/_catalog 可以查看当前私有镜像服务中包含的镜像

4.2.带有图形化界面版本

使用DockerCompose部署带有图象界面的DockerRegistry,命令如下:

version: '3.0'
services:
  registry:
    image: registry
    volumes:
      - ./registry-data:/var/lib/registry
  ui:
    image: joxit/docker-registry-ui:static
    ports:
      - 8080:80
    environment:
      - REGISTRY_TITLE=传智教育私有仓库
      - REGISTRY_URL=http://registry:5000
    depends_on:
      - registry

4.3.配置Docker信任地址

我们的私服采用的是http协议,默认不被Docker信任,所以需要做一个配置:

# 打开要修改的文件
vi /etc/docker/daemon.json
# 添加内容:
"insecure-registries":["http://192.168.138.100(自己的虚拟机IP):8080"]
# 重加载
systemctl daemon-reload
# 重启docker
systemctl restart docker

演示

在这里插入图片描述

在这里插入图片描述
修改完毕点击esc,输入:wq 保存

输入 systemctl daemon-reload 重加载
输入 systemctl restart docker 重启docker

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
打开网址
在这里插入图片描述

二、向镜像仓库推送镜像

在私有镜像仓库推送或拉取镜像

推送镜像到私有镜像服务必须先tag,步骤如下:

①重新tag本地镜像,名称前缀为私有仓库的地址:192.168.150.101:8080/

docker tag nginx:latest 192.168.138.100(自己虚拟机的Ip地址):8080/nginx:1.0

②推送镜像

docker push 192.168.138.100:8080/nginx:1.0

③拉取镜像

docker pull 192.168.138.100:8080/nginx:1.0

实验:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

再次查看可以看到刚刚推送的镜像

在这里插入图片描述

三、从镜像仓库拉取镜像

在这里插入图片描述

先把刚刚的镜像删掉
在这里插入图片描述
把最初的也删掉
在这里插入图片描述

粘贴下面代码

docker pull 192.168.138.100:8080/nginx:1.0

在这里插入图片描述

总结

1.推送本地镜像到仓库前都必须重命名(docker tag)镜像,以镜像仓库地址为前缀
2.镜像仓库推送前需要把仓库地址配置到docker服务的daemon.json文件中,被docker信任
3.推送使用docker push命令
4.拉取使用docker pull命令

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker镜像仓库 的相关文章

随机推荐

  • prometheus 无人机平台 gazeboORBSLAM3调试实现rgbd模式

    提示 xff1a 文章写完后 xff0c 目录可以自动生成 xff0c 如何生成可参考右边的帮助文档 目录 前言 一 镜像系统安装 二 prometheus镜像快速使用 1 prometheus px4 xff0c Prometheus编译
  • TX2上用D435i跑Vins-RGBD+Octomap生成八叉树地图

    1 realsense的SDK 和普通电脑不同 xff0c TX2是ARM xff0c 不能直接从官网下载编译 教程 xff1a https blog csdn net rosfreshman article details 1164040
  • PX4和Airsim通信操作流程

    坑真几把多 先在Windows上安装UE4和Airsim不再赘述 xff0c 官网都有 虚拟机或其他计算机安装好ubuntu并安装PX4 1 安装PX4的ROS相关包 xff08 mavros xff09 1 第一种 xff1a 进入官网安
  • mavros安装流程(超简单)

    只适用于Ubuntu18 04 在Ubuntu中新建一个空白文本 xff0c 命名为123 sh bin bash Bash script for setting up ROS Melodic with Gazebo 9 developme
  • mavros与PX4建立连接(仿真)

    安装好 mavros 之后 xff0c 进入 home melodic catkin ws src mavros mavros launch 将 px4 launch 文件中 34 fcu url 34 修改成如下 xff1a lt arg
  • Airsim和ROS直连(自带飞控)

    安装Airsim git clone https github com Microsoft AirSim git cd AirSim setup sh build sh 安装好了之后编译ROS包 cd AirSim ros catkin b
  • SD卡Ubuntu制作镜像

    查看挂载盘 xff1a df h 备份命令 xff1a sudo dd if 61 dev sdc gzip gt home shi raspberry gz 查看备份进度 xff08 5s xff09 xff1a sudo watch n
  • 无需命令行,用 VSCode 轻松提交 Git 代码

    前言 Git 作为版本控制工具 xff0c 通过在开发过程中记录代码的变化 xff0c 简化了开发者之间的代码协作 而对于许多开发者而言 xff0c 命令行提交 Git 代码却是一项让人感到困难的任务 然而 xff0c 现在你可以轻松地通过
  • 开挂的人生背后  不仅仅是热爱

    在大城市飘来飘去 xff0c 看似潇洒 xff0c 其实内心还是会感到彷徨不安 身边的同事 xff0c 朋友不是努力的考取各种证书就是在人群中游刃有余 对于从小就酷爱甜食的 80 后女生 Zoe 来说 xff0c 今年 5 月份的一个决定
  • 轻松掌握 CSS,实现 loading 加载中的多种形式

    前言 现如今网页越来越趋近于动画 xff0c 相信大家平时浏览网页或多或少都能看到一些动画效果 xff0c 今天我们来做一个有意思的动画效果 xff0c 纯 css 实现 loading 加载中 xff08 多种展现形式 xff09 xff
  • Ubuntu16.04在线安装RealSense SDK与使用

    Ubuntu16 04在线安装RealSense SDK与使用 2019年5月左右 xff0c 拿到了两个Intel RealSense设备 D425和D435i xff0c 感觉不错就拿过来研究研究 xff0c 刚开始真是一窍不通 xff
  • linux中用gcc编译源代码的四个步骤(转载)

    在Linux下进行C语言编程 xff0c 必然要采用GNU GCC来编译C源代码生成可执行程序 一 GCC快速入门 Gcc指令的一般格式为 xff1a Gcc 选项 要编译的文件 选项 目标文件 其中 xff0c 目标文件可缺省 xff0c
  • 随笔之ros多线程

    nt main int argc char argv ros init argc argv 34 convert to mono 34 ros NodeHandle nh ros Publisher image pub 61 nh adve
  • 【FreeRTOS 消息队列】消息队列传递变量

    消息队列创建及运行 xff0c 参阅安富莱电子demo span class token keyword static span QueueHandle t xQueue1 span class token operator 61 span
  • 在校大学生如何规划自己的程序员之路

    近况 九月份 有很多 不甘和后悔 也有 很多的收获 会 不甘 没能拿到网易转正的意向书 会 后悔 腾讯的项目没能顺利的结项 不过 好在 自己都没有全权押宝 抓着秋招的尾巴 投了能投的公司 即使 七八月份 六十多天没有任何收获 也还是 坚持下
  • 不要停下来更新

    1 又换平台了 知识库切换到了 yuque 有诸多几点原因 之前的平台太过于垂直 圈子太小众做好了其实也不会怎么样 需要一个笔记平台可以记录自己的学习点滴需要一个文档系统 形成自己的弹药库可以进行分享和私密记录 1 1长期主义 主要的原因还
  • 我的创作流

    2021年09月19日21 37 07 创作流 虽然我创作的 肯定不咋地 但是 还是 想写一下自己的创作流规划 对 xff0c 这仅仅是个 规划而已 正确 吸引人的 创作应该 是 总分总的 更吸引读者 但是 我自己写的东西 主要还是用来 复
  • 我,22届双非本科,150+场面试 拿到了20+offer

    文章目录 秋招的喜怒哀乐和酸甜苦辣万千应届生中的普通背景实习拿到的offer秋招目前收到的 意向 分享我自己个人的复习准备艰难求职路基础不牢地动山摇简历挂是常态面试不要慌 xff0c 稳住就能赢 秋招备战计划第一弹 今天就开始备战秋招思维导
  • 【业界冥灯】今年校招太难了我面试过的大厂都逃不过被制裁的命运

    今年应届生的校招 真是太难了 卷死我了 家人们 大家可能不清楚 我这几个月 究竟 经历了啥 尝试录制了一个视频版 到B站 发现自己 好紧张 话都说不清楚 还是要努力 练习 进步啊 视频版 指路 第一次 被熟人 认出来 是在 滴滴 橙心优选
  • Docker镜像仓库

    一 搭建私有镜像仓库 常见镜像仓库服务 镜像仓库 xff08 Docker Registry xff09 有公共的和私有的两种形式 公共仓库 例如Docker官方的Docker Hub xff0c 国内也有一些云服务商提供类似于Docker