docker学习3(最后篇)

docker容器数据卷

介绍

当我们在使用docker容器的时候,会产生一系列的数据文件,这些数据文件在我们关闭docker容器时是会消失的,但是其中产生的部分内容我们是希望能够把它给保存起来另作用途的,Docker将应用与运行环境打包成容器发布,我们希望在运行过程钟产生的部分数据是可以持久化的的,而且容器之间我们希望能够实现数据共享

特点:

1.数据卷可以在容器之间共享或重用数据

2.数据卷中的更改可以直接生效

3.容器的持久化

4.数据卷的生命周期一直持续到没有容器使用它为止

5.容器间继承

数据卷命令操作

容器内添加

1.直接命令添加

docker run -it -v /宿主主机绝对路径目录:容器内目录 镜像名

2.查看数据卷是否挂载成功

docker inspect 容器id

3.dockerFile添加

  1. 构建dockerFile文件:

     FROM centos
     VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
     CMD echo "finished,--------success1"
     CMD /bin/bash
    
  2. 使用bulid生成镜像

     docker bulid -f /dockerfile -t cm/centos
    
  3. 查看镜像

     docker images
    
  4. 对应的宿主主机目录地址可以通过该命令查看到

     docker inspect 容器id
    

数据卷容器

说明

命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器

特点

容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用他为止

命令–volumes-from

示例:docker run -it  --name doc02 --volumes-from doc01 cm/centos
说明:
	doc02是容器名称
	doc01是容器名称
	doc02的容器卷继承doc01的容器卷

dockerfile

dockerfile是什么

dockerfile是用来构建docker镜像的构建文件,是由一系列命令和参数构成的脚本

注意:

1.每条保留字指令都必须为大写字母且后面要跟随至少一个参数
2.指令按照从上到下,顺序执行
3.#表示注释
4.每条指令都会创建一个新的镜像层,并对镜像进行提交

dockerfile保留字指令

  1. FROM
    基础镜像,当前新镜像基于哪个基础镜像
  2. MAINTAINER
    镜像维护者的姓名和邮箱
  3. RUN
    构建容器时需要运行的命令
  4. EXPOSE
    当前容器对外暴露出的端口
  5. WORKDIR
    指定在容器创建后,终端默认登录进来的工作目录
  6. ENV
    用来构建镜像过程中设置环境变量
  7. ADD
    将宿主主机下的文件拷贝到镜像且ADD命令会自动处理URL和解压tar压缩包
  8. COPY
    类似ADD,拷贝文件和目录到镜像中,
  9. VOLUME
    容器数据卷,用于数据保存和持久化工作
  10. CMD
    指定一个容器启动时要运行的命令
    DockerFile中可以有多个CMD命令,但只有最后一个生效
    CMD会被docker run 之后的参数替换掉
  11. ENTRYPOINT
    指定一个容器启动时要运行的命令
    命令不会被替换掉
  12. ONBULID
    当构建一个被继承的DockerFile时运行命令,父镜像在被子镜像继承后父镜像的onbulid被触发
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值