摘要

容器化是上个十年比较火的技术.
现在看起来在进行总计有点晚了.
不过linux是三十年前的,我依旧没有总结好
道理是一样的.
技术不在于新旧, 重要的是学习到原理.

Docker的重要概念

Registry
image
container Docker的核心机制在于
从Registry里面拉取image
然后基于image 运行起来一个 container来提供服务.
image和container的关系很像
software和process的关系.
镜像是有不可写的制度层构建的, 容器会运行成功时增加一个可写的最上层.
基于Copy On Wirte的机制来显示高性能的IO(内容聚合性能损耗很大)

Docker拉取加速

Docker默认是从 docker hub执行拉取镜像.
重大节日重大会议时一般拉取经常失败.
所以此时建议还是能够使用国内的镜像源进行加速.
一般可以用如下几个:
名称 地址
中国官方镜像 https://registry.docker-cn.com
网易163镜像 http://hub-mirror.c.163.com
中科大镜像 https://docker.mirrors.ustc.edu.cn
七牛云加速器 https://reg-mirror.qiniu.com

Systemd的方式进行设置

systemctl status docker
或者docker 的默认配置文件路径, 比如:
/usr/lib/systemd/system/docker.service
修改配置文件:
在Service配置节增加内容:
DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn/"
然后执行命令
systemctl daemon-reload && systemctl restart docker
再进行相关docker pull 速度就会比较快了.

获取镜像库里面Docker的tag

docker pull 之前可以进行 docker search
但是docker search 是没有具体的tag的
这里学习了下:
https://www.zhoubotong.site/ 里面的文档.
可以编写一个脚本,自己拉取所有的镜像tag
方法其实是 利用 docker的原生API进行分析 注意 需要优先安装一下jq 方便进行json序列化的处理
yum install jq -y

获取tag的脚本

  • 需要注意这个机器必须是能够上网的.
  • 建议保存成类似于 gettags 一样的脚本名称.
#!/bin/bash

repo_url=https://registry.hub.docker.com/v2/repositories/library
image_name=$1 curl -L -s ${repo_url}/${image_name}/tags?page_size=1024 | jq '.results[]["name"]' | sed 's/\"//g' | sort -u

拉取验证

./gettags rabbitmq
结果为:
[root@NFSV3 deploy]# ./gettags rabbitmq
3
3.10
3.10.10
3.10.10-alpine
3.10.10-management
3.10.10-management-alpine
3.10.11
3.10.11-alpine
3.10.11-management

Docker的导出与导入

Docker 其实有两种保存模式
docker save 还有 docker export
建议不要使用 docker export 他没有镜像层, 而是导出容器的运行时状态. 建议使用 docker save 进行导出.
可以使用 gzip命令同事进行压缩,减少网络损耗尽快导出导入的效率
docker save kylinv10sp2_aarch64:xxxx |gzip > /kylinv10sp2_aarch64_xxxx.tar.gz
复制到其他机器后执行
docker load -i kylinv10sp2_aarch64_xxxx.tar.gz
就很容易实现了镜像的备份与恢复.

Docker镜像的基本操作总结的更多相关文章

  1. Docker 镜像、容器、仓库的概念及基本操作

    Docker 包括三个基本概念: 镜像(Image)容器(Container)仓库(Repository) 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习 ...

  2. docker 操作镜像的基本操作

    以安装mysql为例 1.拉取镜像 docker pull mysql 错误的启动 [root@localhost ~]# docker run --name mysql01 -d mysql 42f ...

  3. docker镜像基本操作

    操作镜像 使用 docker 命令行操作 docker 镜像 获取镜像 使用「docker pull +镜像名称」从网络上下载image镜像 core@localhost ~ $ docker pul ...

  4. docker镜像基本操作一

    获取镜像 首先说明一下如何从Docker hub中获取高质量的镜像,从Docker镜像库获取镜像的命令是docker pull .其命令格式为: docker pull [选项] [Docker Re ...

  5. Docker(5):Docker镜像基本操作(上)

    1.获取镜像 可以使用docker pull 命令从网络上下载镜像.该命令的格式为docker pull NAME[:TAG].对于Docker镜像来说,如果不显示地指定TAG,则默认会选择lates ...

  6. Docker 镜像 && 容器的基本操作

    镜像 && 容器 docker 镜像好比操作系统的镜像(iso) docker 容器好比是已安装运行的操作系统 所以说 docker 镜像文件运行起来之后,就是我们所说的 docker ...

  7. 004.Docker镜像管理

    一 镜像基本操作 镜像是一个包含程序运行必要依赖环境和代码的只读文件,其本质是磁盘上一系列文件的集合.它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 1 ...

  8. Docker镜像和容器

    本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...

  9. Docker 使用指南 —— 基本操作

    Docker 是一个能够把开发应用程序自动部署到容器的开源引擎.它由Docker公司的团队编写,基于Apache 2.0开源协议授权.它提供了一个简单.轻量的建模方式,使开发生命周期更高效快速,鼓励了 ...

  10. Docker 使用指南—— 基本操作

    版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98来源:腾云阁 https://www.qcloud ...

随机推荐

  1. 论文推荐|TDSC2022 安全补丁识别最新的方案E-SPI

    摘要:TDSC 2022发表了安全补丁识别最新的方案"Enhancing Security Patch Identification by Capturing Structures in C ...

  2. SARIF:DevSecOps工具与平台交互的桥梁

    摘要:静态扫描工具融入在DevSecOps的开发过程中,对提高产品的整体的安全水平发挥着重要的作用.为了获取安全检查能力覆盖的最大化,开发团队通常会引入多个安全扫描工具.为了降低各种分析工具的结果汇总 ...

  3. 遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI

    摘要:随着MPC.隐私计算等概念的流行,诸多政府机构.金融企业开始考虑参与到多方计算的场景中,扩展数据的应用价值. 本文分享自华为云社区<使用PSI解决联邦计算的数据碰撞问题>,作者:br ...

  4. 火出边际的Serverless,你居然还不了解?

    摘要:图灵奖获得者David A. Patterson和Spark共同创始人Ion Stoica,在19年伯克利的会议上发布Serverless将是下一代默认的计算范式. 本文分享自华为云社区< ...

  5. 从“概念”到“应用”,字节跳动基于 DataLeap 的 DataOps 实践

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎数智平台 VeDI Meetup「超话数据」在深圳举办,来自火山引擎的产品专家分享了字节跳动基于 D ...

  6. 数据分析引擎百花齐放,为什么要大力投入ClickHouse?

    更多技术交流.求职机会.试用福利,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年来,OLAP产品的竞争日渐激烈,目前企业间流行的既有Impala.Greenplum等上一代较为成熟 ...

  7. Pytest.mark.parametrize()基本用法

    Pytest.mark.parametrize()基本用法 @pytest.mark.parametrize()基本用法 数据驱动:就是把我们测试用例的数据放到excel,yaml,csv,mysql ...

  8. 【flask】蓝图的使用方式 g对象的使用 flask配置数据库连接池

    目录 上节回顾 今日内容 1 蓝图的使用 2 g对象 g对象 vs request对象 3 数据库连接池 上节回顾 全局request对象.线程会处理请求,确保线程中的数据不错乱. django_se ...

  9. ajax补充说明 多对多三种创建方式 django内置序列化组件 ORM批量操作数据 分页器 form组件入门

    目录 ajax补充说明 request.is_ajax() ajax回调函数接收返回值 ajax回调函数 接受json数据 第一种方式:后端使用json模块 第二种方式:后端返回JsonRespons ...

  10. Mysql--binlog日志

    一.简介 binlog日志也称二进制日志,记录了所有的DDL和DML( 除了数据查询语句 )语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. 一般来说开启二进 ...