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

Docker————数据卷容器,容器互联,镜像创建 Docker镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。镜像的定制实际上就是定制每一层所添加的配置、文件。如果我们可以把每一层修改、安装、构建、操作的命令都写入一个脚本,用这个脚本来构建、定制镜像,那么镜像构建透明性的问题、体积的问题就都会解决。这个脚本就是 Dockerfile。 阅读详情

四、 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数据共享

Docker镜像操作、容器操作、数据卷及挂载数据卷 阅读详情

相关推荐

Docker镜像文件、容器、卷和网络存放位置

Docker镜像和其他本地资源主要存放在`/var/lib/docker/`目录下。

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 1万+

Docker系列操作——镜像、容器、Docker仓库、Docker数据卷、Dockerfile文件解释

边缘计算中Docker部分的一点基础知识。

m0_71785200的博客 1049

【Docker】数据卷技术和数据卷容器

如果docker01与docker02共享卷,docker02与docker03共享卷,删除了docker01,不影响docker02和docker03对共享数据的访问。数据卷容器(Data Volume Container):是一种 “专门挂载数据卷并供其他容器挂载” 的普通容器,常被称为 “本节中,会新介绍一种方式来实现镜像的构建,同时实现容器对数据卷的挂载。去实现数据卷的共享。,前两点可以用数据卷技术,后一点就是数据卷技术和数据卷容器。的数据卷技术,如果要实现2个容器共享同意卷,需要。

weixin_48618536的博客 1298

Docker 中卷、容器、镜像的区别

Docker核心概念解析:镜像、容器与卷的区别与联系 Docker三大核心组件形成了完整的应用运行生态: 镜像是只读模板,相当于软件安装包,通过Dockerfile构建分层存储 容器是镜像的运行实例,具有临时性读写层,类比正在运行的进程 卷提供持久化存储,独立于容器生命周期,类似外接硬盘 关键差异: 持久性:镜像/卷永久存在,容器随删随失 读写性:仅容器和卷可写入,镜像只读 用途:镜像打包环境,容器运行应用,卷存储数据 最佳实践建议容器无状态化,重要数据必须通过卷持久化。三者协同工作构成Docker核心架构

nbspzs的专栏 360

iverilog+GTKwave使用总结

iverilog是一个开源的硬件描述语言(HDL)仿真工具,用于对硬件描述语言(如Verilog)编写的数字电路进行仿真。它可以将Verilog代码编译为仿真模型,并通过仿真运行来验证设计的正确性。iverilog支持IEEE 1364-2005 Verilog语言标准,并提供了丰富的功能,包括对多种Verilog语言特性的支持、模块化设计、测试平台等。它还可以与其他工具(如GTKWave波形查看器)配合使用,以便进行仿真后的波形查看和分析。

争取早日成为硅农 2万+

NCCL使用指南-进阶篇

前文介绍了NCCL的常用环境变量,本文介绍了NCCL-test性能基准测试,以及一些大规模集群测试的经验数据。

father_yingying的博客 1407

Docker初识、容器、镜像、数据卷

项目部署存在的问题 Docker Docker将用户程序与所需要调用的系统函数库一起打包,这样程序会去调用他打包好的系统函数库,不用再管系统应用具体是什么,只要他们的内核一样就可以。 无视具体的系统应用。 总结 Docker如何解决大型项目依赖关系复杂,不同组件依赖的兼容性问题? Docker允许开发中将应用、依赖、函数库、配置-起打包,形成可移植镜像 Docker应 用运行在容器中,使用沙箱机制,相互隔离 Docker如何解决开发、测试、生产环境有差异的问题 Docker镜像中包

qq_43430343的博客 434

手把手教你用THS4551搭建全差分放大器电路(附ADC驱动实战)

本文详细介绍了如何使用TI的THS4551全差分放大器搭建高性能ADC驱动电路,涵盖芯片选型、电路配置、PCB布局及实战调试等关键环节。THS4551凭借其优异的共模抑制比和宽电源电压范围,成为驱动16位及以上精度ADC的理想选择,特别适合工业应用场景。

weixin_30338481的博客 282

Docker--镜像、容器数据卷(容器卷)

docker镜像、容器数据卷(容器卷)

Sun的博客 1523

用scons编译STM32F103工程

想用vscode来实现代码的编辑与调试代码,原先这个工程是用STM32CUBEIDE建立的,参照STM32CUBEIDE的编译过程,编写了下面的scons脚本,scons是初次了解,既然是python脚本,那么会什么就怎么写吧。 import os import sys import glob cross_compiler_prefix = 'arm-none-eabi-' CC = cross_compiler_prefix+'gcc' CXX = cross_compiler_prefix+'g+

cylinc的专栏 1623

uniapp [全端兼容] - 详细实现用户电子签名 “逐字校验“ 将姓名按字拆开分别手写签署签字,把客户名字自动拆成单独的文字并由用户逐个依次签名与汉字笔画校验,支持汉字格、田字格、米字格、方格等!

uniapp,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,手写签名,电子签署,逐个字挨着写,写名字,将客户姓名分成单独的文字并依次手写,在田字格里写名字,米字格,方格,合同,书写轨迹,验证手写的文字是否正确,如何在uni-app做姓名拆分成独立的文字后手写每一个字,校验正确性,画板,汉字生成在米字格里并且让用户去写,如何画一个汉字田字格,vue把姓名拆分单独写签名,文字,拆掉,中文汉字网格,一个字一个字签名,一次只签名一个文字,判断签名的文字笔画是否正确,Un

🏆 前端领域优质创作者 1万+

Docker(下)(Docker镜像、容器数据卷、编写DockerFile)

写博客即是为了记录自己的学习历程,也希望能够结交志同道合的朋友一起学习。文章在撰写过程中难免有疏漏和错误,欢迎指出文章的不足之处;更多内容请点进爱敲代码的小游子查看。 临渊羡鱼,不如退而结网。一起加油! 一、Docker镜像 镜像是什么? 镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件 (1)UnionFS(联合文件系统) UnionFS(联合文件系统):Union文件系统是一种分层、轻量级..

小游子YKY的博客 8428

波士顿房价预测分析----以线性回归LinearRegression为例

波士顿房价数据集包括506个样本,每个样本包括13个特征变量和该地区的平均房价,房价显然和多个特征变量相关,先选择一元线性回归与多个特征建立线性方程,观察模型预测的好坏,再选择多元线性回归进行房价预测。13个特征变量缩写含义CRIM城镇人均犯罪率ZN住宅用地所占比例INDUS城镇中非住宅用地所占比例CHAS虚拟变量,用于回归分析NOX环保指数RM每栋住宅的房间数AGE1940 年以前建成的自住单位的比例DIS距离 5 个波士顿的就业中心的加权距离RAD。

我走的每一步都算数 842

Docker容器技术 |镜像原理 |数据卷 |数据卷容器

Docker镜像原理、数据卷、数据卷容器介绍。

匿名攻城狮 2938

汽车标定技术(五)--基于模型开发如何生成完整的A2L文件(1)

A2L文件的生成分为两章讲解:本文主要是讲模型开发,讲解如何把标定量、观测量放到链接文件中的指定位置。下一篇讲解如何使用matlab生成完整的A2L文件

认真搞搞汽车MCU 4618

47、利用组策略配置 Windows 防火墙与 IPsec 全解析

本文深入解析了如何利用组策略配置Windows防火墙与IPsec,涵盖防火墙规则基础、IPsec身份验证与加密机制、服务器和域隔离实现方法、WFAS中新旧IPsec规则的区别与配置流程,并详细说明了防火墙属性与规则的优先级计算方式。同时介绍了证书服务、EFS等未详述的安全功能及相关学习资源,帮助管理员通过组策略有效提升网络安全性。

onion的博客 103

Docker:数据卷&数据卷容器

一,概念解析 1,数据卷:数据卷就是在宿主中可以在容器之间进行共享和重用的一系列和文件和文件夹,通过docker run -v命令可以将数据卷挂载到对应的容器目录空间,进行文件读取,容器卷特性如下 *数据卷可以在容器之间共享和重用,容器间传递数据将变得高效方便 *对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作 *对...

zp_zhang的博客 5504

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Docker快速入门——镜像、容器及数据卷

一、镜像 1.镜像名称 镜像名称一般分两部分组成:[repository]:[tag] 在没有指定tag时,默认是latest,代表最新版本的镜像 2.常用命令 3.拉取、查看镜像:从DockerHub中拉取一个nginx镜像并查看 首先去镜像仓库搜索nginx镜像,比如DockerHub 根据查看到的镜像名称,拉取自己需要的镜像,通过命令:docker pull nginx 通过命令:docker images 查看拉取到的镜像 4.保存、导入镜像:利用docker save将nginx镜

每天一个前端小知识~ 3878

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Docker镜像&容器数据卷

宿主机目录会自动创建(前提是有权限)docker run [-it/-d] --privileged=true -v /宿主机目录:/容器内目录 镜像名。

Sun的个人博客 1104

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Docker 镜像和容器数据卷

一、Docker镜像 镜像是一种轻量级、可执行的独立软件包,是用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时、库、环境变量和配置文件。 1.1 镜像加载原理 UnionFs(联合文件系统): Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtu

水逆呱的博客 1643

Docker:镜像操作、容器命令、数据卷

1.1.镜像操作 1.1.1.镜像名称 1.1.2.镜像命令 1.1.3.案例1-拉取、查看镜像 1.1.4.案例2-保存、导入镜像 1.1.5.练习 1.2.容器操作 1.2.1.容器相关命令 1.2.2.案例-创建并运行一个容器 1.2.3.案例-进入容器,修改文件 1.2.4.小结 1.3.数据卷(容器数据管理) 1.3.1.什么是数据卷 1.3.2.数据集操作命令 1.3.3.创建和查看数据卷 1.3.4.挂载数据卷 1.3.5.案例-给nginx挂载数据卷 1.3.6.案例-给MySQL挂载本地目

我是程序员Amin,关注我,带你学习有趣的计算机知识 854

Docker——容器数据卷

Docker——容器数据卷

贝尔摩德苦艾酒 7509

docker - 镜像、容器、网络、数据卷、compose、自制镜像

2、docker run -d -p 81:8080 --name tomcat001 -v /opt/volumes/v-tomcat03:/user/local/tomcat/webapps 镜像id。docker run -d -p 80:8080 --name mytomcat -v v-tomcat:/user/local/tomcat/webapps 镜像id。想重新创建新镜像,执行:docker-compose up -d --build。docker-compose start 【启动】

NHB234567的博客 942

Docker 容器数据卷

容器数据卷是什么 先来看看Docker的理念: 将运用与运行的环境打包形成容器运行 ,运行可以伴随着容器,但是我们对数据的要求希望是持久化的 容器之间希望有可能共享数据 Docker容器产生的数据,如果不通过docker commit生成新的镜像,使得数据做为镜像的一部分保存下来, 那么当容器删除后,数据自然也就没有了。 为了能保存数据在docker中我们使用卷。 ...

我是太阳 1万+
上一篇: SpringCloud学习(9)-GateWay网关-自定义拦截器
下一篇: docker笔记(一):安装、常用命令
Slahser123456
博客等级 码龄12年 1341粉丝 124原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值