Docker镜像的基本操作总结
摘要
容器化是上个十年比较火的技术.
现在看起来在进行总计有点晚了.
不过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镜像的基本操作总结的更多相关文章
- Docker 镜像、容器、仓库的概念及基本操作
Docker 包括三个基本概念: 镜像(Image)容器(Container)仓库(Repository) 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习 ...
- docker 操作镜像的基本操作
以安装mysql为例 1.拉取镜像 docker pull mysql 错误的启动 [root@localhost ~]# docker run --name mysql01 -d mysql 42f ...
- docker镜像基本操作
操作镜像 使用 docker 命令行操作 docker 镜像 获取镜像 使用「docker pull +镜像名称」从网络上下载image镜像 core@localhost ~ $ docker pul ...
- docker镜像基本操作一
获取镜像 首先说明一下如何从Docker hub中获取高质量的镜像,从Docker镜像库获取镜像的命令是docker pull .其命令格式为: docker pull [选项] [Docker Re ...
- Docker(5):Docker镜像基本操作(上)
1.获取镜像 可以使用docker pull 命令从网络上下载镜像.该命令的格式为docker pull NAME[:TAG].对于Docker镜像来说,如果不显示地指定TAG,则默认会选择lates ...
- Docker 镜像 && 容器的基本操作
镜像 && 容器 docker 镜像好比操作系统的镜像(iso) docker 容器好比是已安装运行的操作系统 所以说 docker 镜像文件运行起来之后,就是我们所说的 docker ...
- 004.Docker镜像管理
一 镜像基本操作 镜像是一个包含程序运行必要依赖环境和代码的只读文件,其本质是磁盘上一系列文件的集合.它采用分层的文件系统,将每一次改变以读写层的形式增加到原来的只读文件上.镜像是容器运行的基石. 1 ...
- Docker镜像和容器
本节内容: 安装Docker 卸载docker 镜像基本操作 容器基本操作 一.安装Docker Docker 对 Linux 内核版本的最低要求是3.10,如果内核版本低于 3.10 会缺少一些运行 ...
- Docker 使用指南 —— 基本操作
Docker 是一个能够把开发应用程序自动部署到容器的开源引擎.它由Docker公司的团队编写,基于Apache 2.0开源协议授权.它提供了一个简单.轻量的建模方式,使开发生命周期更高效快速,鼓励了 ...
- Docker 使用指南—— 基本操作
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98来源:腾云阁 https://www.qcloud ...
随机推荐
- 论文推荐|TDSC2022 安全补丁识别最新的方案E-SPI
摘要:TDSC 2022发表了安全补丁识别最新的方案"Enhancing Security Patch Identification by Capturing Structures in C ...
- SARIF:DevSecOps工具与平台交互的桥梁
摘要:静态扫描工具融入在DevSecOps的开发过程中,对提高产品的整体的安全水平发挥着重要的作用.为了获取安全检查能力覆盖的最大化,开发团队通常会引入多个安全扫描工具.为了降低各种分析工具的结果汇总 ...
- 遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI
摘要:随着MPC.隐私计算等概念的流行,诸多政府机构.金融企业开始考虑参与到多方计算的场景中,扩展数据的应用价值. 本文分享自华为云社区<使用PSI解决联邦计算的数据碰撞问题>,作者:br ...
- 火出边际的Serverless,你居然还不了解?
摘要:图灵奖获得者David A. Patterson和Spark共同创始人Ion Stoica,在19年伯克利的会议上发布Serverless将是下一代默认的计算范式. 本文分享自华为云社区< ...
- 从“概念”到“应用”,字节跳动基于 DataLeap 的 DataOps 实践
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,火山引擎数智平台 VeDI Meetup「超话数据」在深圳举办,来自火山引擎的产品专家分享了字节跳动基于 D ...
- 数据分析引擎百花齐放,为什么要大力投入ClickHouse?
更多技术交流.求职机会.试用福利,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近年来,OLAP产品的竞争日渐激烈,目前企业间流行的既有Impala.Greenplum等上一代较为成熟 ...
- Pytest.mark.parametrize()基本用法
Pytest.mark.parametrize()基本用法 @pytest.mark.parametrize()基本用法 数据驱动:就是把我们测试用例的数据放到excel,yaml,csv,mysql ...
- 【flask】蓝图的使用方式 g对象的使用 flask配置数据库连接池
目录 上节回顾 今日内容 1 蓝图的使用 2 g对象 g对象 vs request对象 3 数据库连接池 上节回顾 全局request对象.线程会处理请求,确保线程中的数据不错乱. django_se ...
- ajax补充说明 多对多三种创建方式 django内置序列化组件 ORM批量操作数据 分页器 form组件入门
目录 ajax补充说明 request.is_ajax() ajax回调函数接收返回值 ajax回调函数 接受json数据 第一种方式:后端使用json模块 第二种方式:后端返回JsonRespons ...
- Mysql--binlog日志
一.简介 binlog日志也称二进制日志,记录了所有的DDL和DML( 除了数据查询语句 )语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的. 一般来说开启二进 ...