docker笔记(二):镜像、容器数据卷

news2024/11/21 1:43:42

四、 docker镜像

4.1 镜像

镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、库、环境变量和配置文件 所有的应用,直接打包docker镜像就可以直接跑起来

你可以创建自己的镜像,也可以只使用其他人创建并在Docker Hub中发布的镜像。要构建自己的镜像,需要创建一个Dockerfile,使用简单的语法定义创建和运行镜像所需的步骤。Dockerfile中的每一条指令都会在图像中创建一个层。当你更改Dockerfile并重新构建镜像时,只有那些已经更改的层才会重新构建。与其他虚拟化技术相比,这是镜像如此轻量级、小巧和快速的原因之一。

4.2 分层

所有docker镜像都起始于一个检查镜像层,当进行修改或增加新的内容时,就会在当前镜像层之上,创建新的镜像层

4.3 commit镜像

如果想要保存当前容器的状态,就可以通过commit来提交,获得一个镜像

docker commit #提交容器成为一个新的副本
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG(版本)]

4.4 镜像发布

发布到DockerHub或其他仓库。步骤略。

4.5 镜像私有库

  1. 下载镜像Docker Registry:docker pull registry

  2. 运行私有库Registry,相当于本地有个私有Docker hub

    docker run -d -p 5000:5000 -v /sunxiao/myregistry/:/tmp/registry --privileged=true registry
  3. 案例演示创建一个新镜像,ubuntu安装ifconfig命令

    #用ubuntu镜像启动一个ubuntu容器
    docker run -it ubuntu
    #容器启动后依次执行
    apt-get update
    apt-get install net-tools
    #commit镜像
    docker commit -m="ifconfig add" -a="sunxiao" 容器id sxubuntu:1.2
  4. curl验证私服库上有什么镜像

    curl -XGET http://127.0.0.1:5000/v2/_catalog
  5. 将新镜像sxubuntu:1.2修改符合私服规范的Tag,指定该镜像属于私有仓库。

    #语法:docker tag <原始镜像ID或名称>:<版本号> <私有仓库地址>/<镜像名称>:<版本号>
    docker tag sxubuntu:1.2 192.168.122.1:5000/sxubuntu:1.2
  6. 修改配置文件使之支持http

    #打开配置文件
    vim /etc/docker/daemon.json
    #添加配置
    "insecure-registries":["192.168.122.1:5000"]
    #如果不生效,重启docker
    systemctl restart docker
    #重启Registry
  7. push推送到私服库

    docker push 192.168.122.1:5000/sxubuntu:1.2
  8. curl验证私服库上有什么镜像2

五、 容器数据卷

Docker容器产生的数据,如果不备份,那么当容器实例删除后,容器内的数据自然也就没有了。

为了能保存数据在docker中我们使用卷。

特点:

  • 数据卷可在容器之间共享或重用数据

  • 卷中的更改可以直接实时生效

  • 数据卷中的更改不会包含在镜像的更新中

  • 数据卷的生命周期一直持续到没有容器使用它为止:停止容器后再启动依旧有效

#方式一:直接使用命令挂载   -v
docker run -it --privileged=true -v 主机目录:容器内目录 镜像名
#容器内只读
docker run -it --privileged=true -v 主机目录:容器内目录:ro 镜像名
docker run -it -v /home/test_docker:/home centos /bin/bash
  • 拓展:匿名挂载和具名挂载

#-v 容器内路径   #匿名挂载
#-v 卷名:容器内路径    #具名挂载
#-v /宿主机路径::容器内路径   #指定路径挂载
​
#例 匿名挂载
docker run -d -P --name nginx01 -v /etc/nginx nginx
#查看所有volume的情况
docker volume ls
#具名挂载:通过 -v 卷名:容器内路径
docker run -d -P --name nginx02 -v juming-nginx:/etc/nginx nginx
#查看这个卷
docker volume inspect jumming-nginx
​
#所有的docker容器内的卷,没有指定目录的情况下都是在/var/lib/docker/volumes/xxxx/_data
#我们通过具名挂载可以方便的找到我们的一个卷,大部分情况使用具名挂载

5.1数据卷应用

  • 数据卷继承和共享

    1. 容器1完成与宿主机的映射,以ubuntu作为容器为例

      docker run -it --privileged=true -v /mydocker/u:/tmp/u --name u1 ubuntu
    2. 容器2继承容器1规则,例

      docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
    3. 通过1、2实现了容器1、2数据共享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1572599.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

BPMNJS 在原生HTML中的引入与使用

BPMNJS 在HTML中的引入与使用 在网上看到的大多是基于vue使用BPMN的示例或者教程&#xff0c;竟然没有在HTML使用的示例&#xff0c;有也是很简单的介绍核心库的引入和使用&#xff0c;并没有涉及到扩展库。于是简单看了下&#xff0c;真的是一波三折&#xff0c;坎坎坷坷。不…

MobTech积极参与鸿蒙生态建设,HarmonyOS NEXT鸿蒙星河版产品即将发布

1月18日&#xff0c;在鸿蒙生态千帆启航仪式上&#xff0c;华为宣布HarmonyOS NEXT鸿蒙星河版开发者预览正式面向开发者开放申请。被称为“纯血鸿蒙”的鸿蒙星河版将实现原生精致、原生易用、原生流畅、原生安全、原生智能、原生互联6大极致原生体验。 作为深耕开发者服务领域…

二分法题集1

1 二分查找 分析&#xff1a; 这是一道很简单的二分法题&#xff0c;定义两个指针和中间值middle&#xff0c;判断middle对应数组值与目标值的大小关系&#xff0c;从而对left和right进行修改。由于太过基础&#xff0c;代码简单基础就不多赘述。 目录 1 二分查找 分析&…

Oracle 数据库维的建立

Oracle 数据库维的建立 SQL> select table_name from dict where table_name like %DBA%DIM%;TABLE_NAME ------------------------------ DBA_DIMENSIONS DBA_DIM_LEVELS DBA_DIM_LEVEL_KEY DBA_DIM_ATTRIBUTES DBA_DIM_HIERARCHIES DBA_DIM_CHILD_OF DBA_DIM_JOIN_KEYsel…

专题【链表】【考试题】刷题日记

题目列表 考试题&#xff08;22题&#xff09; 2024.04.04 146. LRU 缓存 707. 设计链表 138. 随机链表的复制 160. 相交链表 622. 设计循环队列 109. 有序链表转换二叉搜索树 460. LFU 缓存 355. 设计推特 725. 分隔链表 2487. 从链表中移除节点 日常复习题 876. 链表的中…

【智能算法应用】猎人猎物优化算法(HPO)在WSN覆盖中的应用

目录 1.算法原理2.数学模型3.结果展示4.参考文献 1.算法原理 【智能算法】猎人猎物算法&#xff08;HPO&#xff09;原理及实现 2.数学模型 3.结果展示 HPO设置区域边长为20&#xff0c;节点数为35&#xff0c;感知半径为2.5&#xff0c;实验结果如下&#xff1a; 4.参考…

iMazing 3 for Windows iOS设备管理软件2024最新功能解析

iMazing 3 for Windows是一款兼容Win和Mac的iOS设备管理软件。iMazing 3 for Windows能够将音乐、文件、消息和应用等数据从任何 iPhone、iPad 或 iPod 传输到 Mac 或 PC 上。 iMazing 3 win 版下载&#xff1a; https://souurl.cn/Qp6gFU iMazing 3 mac 版下载&#x…

一点点金融

一点点金融 价值投资 需求 > 有限 > 不可逆 > 优势 > 长期持有者多趋势分析 改进MACD策略&#xff0c;使用涨跌幅比值RSI计算MACD原始MACD计算改进思路&#xff1a;使用涨跌幅比值RSI计算MACD 价值投资 需求 > 有限 > 不可逆 > 优势 > 长期持有者多…

非关系型数据库——Redis基本操作

目录 一、Redis数据库常用命令 1.Set——存放数据 2.Get——获取数据 3.Keys——获取符合条件的键值 4.Exists——判断键值是否存在 5.Del——删除指定键值 6.Type——获取键值对应的类型 7.Rename——对已有键值重命名&#xff08;覆盖&#xff09; 8.Renamenx——对…

安全性基础知识

根据希赛相关视频课程汇总整理而成&#xff0c;个人笔记&#xff0c;仅供参考。本章核心为网络攻击和信息安全的实现技术 安全性基本概念 计算机安全原则&#xff1a; 在系统设计时&#xff0c;实现安全措施应具有简洁性&#xff1b; 系统的保护机制应该公开&#xff1b; 用户…

【Linux】使用cloudreve搭建个人网盘并传输文件

Cloudreve 是一个开源的个人网盘系统&#xff0c;能够帮助用户搭建属于自己的私有云存储服务。它支持多种存储后端&#xff0c;包括本地存储、远程FTP/SFTP存储、以及云存储服务如阿里云OSS、腾讯云COS和Amazon S3等。Cloudreve具有友好的用户界面和丰富的功能&#xff0c;比如…

Git相关的内容来这里看看吧

Git相关的内容来这里看看吧 1、Centos 安装Git方法一&#xff1a;yum命令安装(可能不是最新版本)方法二&#xff1a;源码安装Git配置以及如何配置密钥 Git常用命令参考链接 1、Centos 安装Git 方法一&#xff1a;yum命令安装(可能不是最新版本) yum install -y git卸载已安装…

虚拟机打不开

问题 另一个程序已锁定文件的一部分&#xff0c;进程无法访问 打不开磁盘“G:\centeros\hadoop104kl\hadoop100-cl2.vmdk”或它所依赖的某个快照磁盘。 模块“Disk”启动失败。 未能启动虚拟机。 原因 前一次非正常关闭虚拟机导致.lck 文件是VMWare软件的一种磁盘锁文件&…

计算机网络练习-计算机网络概述与性能指标

计算机网络概述 ----------------------------------------------------------------------------------------------------------------------------- 1. 计算机网络最据本的功能的是( )。 1,差错控制 Ⅱ.路由选择 Ⅲ,分布式处理 IV.传输控制 …

Tcl学习笔记(二)——表达式、字符串

目录 1. 表达式 算数操作符 关系操作符 逻辑操作符 按位操作符 选择操作符 数学函数 字符串操作 2. 字符串 字符串长度、大小写转换、裁剪、重复 字符串类型 字符的获取 字符串的添加、删除、替换 字符串的比较 字符串的简单搜索 字符串的匹配 格式化…

C语言中strlen函数的实现

C语言中strlen函数的实现 为了便于和strlen函数区别&#xff0c;以下命令为_strlen。 描述&#xff1a;实现strlen&#xff0c;获取字符串的长度&#xff0c;函数原型如下&#xff1a; size_t strlen(const char *str);_strlen实现&#xff1a; size_t _strlen(const char*…

开源流程图表库(04):mxGraph,都是可视化编辑,导出使用。

mxGraph是一个用于创建和展示图形的JavaScript库。它提供了丰富的功能和工具&#xff0c;可以用于构建各种类型的图形应用程序&#xff0c;包括流程图、组织结构图、网络拓扑图等。 mxGraph的编辑器 一、mxGraph的特点和功能 以下是一些mxGraph的特点和功能&#xff1a; 强大…

微信小程序的页面交互2

一、自定义属性 &#xff08;1&#xff09;定义&#xff1a; 微信小程序中的自定义属性实际上是由data-前缀加上一个自定义属性名组成。 &#xff08;2&#xff09;如何获取自定义属性的值&#xff1f; 用到target或currentTarget对象的dataset属性可以获取数据 &#xff…

dm8 备份与恢复

dm8 备份与恢复 基础环境 操作系统&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本&#xff1a;DM Database Server 64 V8 架构&#xff1a;单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…

小米汽车su7全色系展示源码

源码简介 小米汽车全色系展示源码&#xff0c;小米汽车su7全色系展示源码 安装教程 纯HTML&#xff0c;直接将压缩包上传网站目录解压即可 首页截图 源码下载 小米汽车su7全色系展示源码-小8源码屋源码简介 小米汽车全色系展示源码&#xff0c;小米汽车su7全色系展示源码 …