day05-20200717
 
p21.docker容器数据卷容器
 
就是活动硬盘上面挂载硬盘进行数据的传递。
 
 
【docker run -it --name dc01 fyr/centos】
【echo '123'>aa.txt】
【docker run -it --name dc02 --volumes-from dc01 fyr/centos】
【echo '123'>bb.txt】
【docker run -it --name dc03 --volumes-from dc01 fyr/centos】
【echo '123'>cc.txt】
 
dc02继承dc01,dc03继承dc01。
最后查看三个容器,发现数据实现了共享。
 
 
现在删除了dc01,dc02和dc03还可以实现数据共享吗?
 
可以的。
 
p22.dockerfile解析
 
dockerfile 是docker镜像得构建文件,是由一系列命令和参数构成的脚本。
 
构建三步骤:
第一步手动编写dockerfile
第二步文件编写好以后docker build 获得一个自定义得镜像
第三步docker run跑起来
 
类似于
maven build
jar
java -jar 
 
p23.dockerfile构建过程解析
 
基础:
1、保留字指令必须是大些,切后面必须更上至少一个参数。
2、从上到下,顺序执行
3、#表示注释
4、每一个指令都会生成一个新的镜像层,并对镜像进行提交。
 
docker执行dockerfile的大致流程:
1、docker从基础镜像运行一个容器
2、执行一条指令并对容器做出修改
3、执行类似docker commit的操作提交一个新的镜像层
4、docker再基于刚提交的镜像运行一个新容器
5、执行dockerfile中的下一条指定直到所有的指令都执行完成。
 
从应用软件的角度来看,dockerfile、docker镜像与docker容器分别代表三个不同的阶段,
 
dockerfile是软件的原材料
docker镜像是软件的交付品
docker容器则可以认为是软件的运行态
dockerfile面向开发,docker镜像成为交付标准,docker容器则涉及部署与运维,三者缺一不可,合理充当docker体系的基石。
 
p24.dockerfile体系构建
 
【FROM】
基础镜像,新的镜像是基于哪个基础镜像的。
【MAINTAINER】
镜像维护的姓名和邮箱
【RUN】
构建镜像的过程中执行命令,shell脚本命令
【EXPOSE】
当前容器对外暴漏的端口
【WORKDIR】
指定在创建容器后,终端默认登录的进来工作目录,一个落脚点。
【EVN】
设置环境变量
【ADD】
添加文件或目录,与COPY功能相同,但是ADD强大一点儿,拷贝加上解压缩文件。
【COPY】
添加文件或目录
【VOLUME】
保存数据和数据持久化
【CMD】
指定一个容器启动时要运行的命令,写多个CMD命令,只会执行最后一个命令,前面的会被覆盖。
【ENTRYPOINT】
指定一个容器启动时要运行的命令,多个命令的话是追加,不会被覆盖。
【ONBUILD】
当构建一个被继承的dockerfile时运行命令,父镜像在被子继承后赴京向的onbuild被出发,类似于触发器。

跟着尚硅谷系统学习Docker-【day05】的更多相关文章

  1. 跟着尚硅谷系统学习Docker-【day01】

    day01-20200710   p1.基础知识   鲸鱼背上有一些集装箱   学习docker得基础知识   1.强制:熟悉Linux命令和相关背景知识 2.建议有maven和git的相关知识   ...

  2. 跟着尚硅谷系统学习Docker-【day08】

    day08-20200723   p32.docker 安装redis   [ docker pull redis] [docker run -p 6397:6397 -v /tmp/mydocker ...

  3. 跟着尚硅谷系统学习Docker-【day03】

    day03-20200715   p15.docker容器命令(下)   以守护进程的形式启动 [docker run -d 容器名]后台运行 启动了后又关闭了,与前台没有交互,立刻就kill了.前台 ...

  4. 跟着尚硅谷系统学习Docker-【day02】

    day02-20200714   p9.docker阿里云配置   helloword   拉取镜像-运行-   拉取镜像如果从国外网站拉取辉比较慢,所以需要配置阿里云或者网易云得镜像仓库.   首先 ...

  5. 跟着尚硅谷系统学习Docker-【day07】

    day07-20200722   p27.dockerfile案例编写-3   第一步:编写父dockerfile DockerFile_20200722_2 FROM centos RUN yum ...

  6. 跟着尚硅谷系统学习Docker-【day06】

    day06-20200720 p24.dockerfile案例编写-1   1.创建好容器时,进去容器的时候,修改所在的当前目录. 2.新添加命令.支持vim.ifconfig 备注:原来的镜像容器默 ...

  7. 跟着尚硅谷系统学习Docker-【day04】

    day04-20200716   p18.docker容器数据卷   docker容器中的数据,做持久化. 容器关闭以后容器内的数据就没有了. 保存到数据库或者服务器宿主机里面.   作用:容器间可以 ...

  8. 尚硅谷Docker---1、docker杂记

    尚硅谷Docker---1.docker杂记 一.总结 一句话总结: ~ php用的homestead就相当于docker,javaee一般都是用docker,php也可以用docker ~ dock ...

  9. 尚硅谷Docker---1-5、docker简介

    尚硅谷Docker---1-5.docker简介 一.总结 一句话总结: docker是环境打包:有点像windows镜像 docker的实质:缩小版.精细版.高度浓缩版的一个小型的linux系统 1 ...

随机推荐

  1. JavaScript笔记(二)

    一.JavaScript面向对象 1.类 constructor 构造函数 constructor() 方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成实例时,自动调用该 ...

  2. 2020-04-10:有一个 API 服务,后端只使用了数据库来持久化数据,平时在 API 网关上监控到响应时间平均值大约为10ms,现在突然上涨到 5s,而且一直居高不下。请简单描述一下你排查这个问题的思路。

    福哥答案2020-04-11: 1 排查api服务 是否是有大量请求 2 查看mysql的系统情况 cpu 磁盘io 连接数 还是要先定位问题出现在哪个环节    

  3. C#LeetCode刷题之#441-排列硬币(Arranging Coins)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3995 访问. 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状 ...

  4. golang 字符型

    目录 前言 1. 基本 介绍 2. 声明 3. 使用细节 4. 字符类型的本质 跳转 前言 不做文字的搬运工,多做灵感性记录 这是平时学习总结的地方,用做知识库 平时看到其他文章的相关知识,也会增加到 ...

  5. Android 开发学习进程0.13 Androidstudio快捷键 xmlns

    xmlns XML namespace xml命名空间 其中主要是定义xml文件定义位置 前缀有三种,android app tools 后面为唯一标识符URI android 表示为引用自安卓系统 ...

  6. DRF内置权限组件之自定义权限管理类

    DRF内置权限组件permissions 权限控制可以限制用户对于视图的访问和对于具体数据对象的访问. 在执行视图的dispatch()方法前,会先进行视图访问权限的判断 在通过get_object( ...

  7. ElasticSearch在CentOS的安装

    ElasticSearch在CentOS的安装 一.tar包安装 单机安装 创建elastic用户,ElasticSearch不支持root用户运行 useradd elastic 上传文件到 /so ...

  8. 一文搞懂Java8 Lambda表达式(附带视频教程)

    Lambda表达式介绍 Java 8的一个大亮点是引入Lambda表达式,使用它设计的代码会更加简洁.通过Lambda表达式,可以替代我们以前经常写的匿名内部类来实现接口.Lambda表达式本质是一个 ...

  9. 免费验证码接收网站&不停开小号方法

    手机号注册:免费验证码接收网站 0.http://getfreesmsnumber.com/ 9个外国网站,访问后要快点点击链接,否则2秒会检测出adblocker 1.http://smsrecei ...

  10. golang interface 多态

    原文链接:http://www.52bd.net/code/210.html demo: package main import ( "fmt" ) //通知行为的接口 type ...