初识Dockerfile

Dockerfile就是用来构建docker镜像的构建文件!命令脚本!

通过这个脚本生成镜像,镜像是一层一层的,脚本与一个个的命令,每个命令都是一层!

  1. # 创建一个dockerfile文件,名字可以随机,建议Dockerfile
    # 文件中的内容主要有两部分:指令(大写)、参数
    # 文件内容
    FROM centos
  2.  
  3. VOLUME ["volume01","volume02"]
  4.  
  5. CMD echo "----END----"
  6.  
  7. CMD /bin/bash

    # 这里的每个命令,就是镜像的一层!
  1. # build构建Dockerfile文件,生成镜像
    # build 构建命令,详细见官网https://docs.docker.com/engine/reference/commandline/build/
      -f  #Dockerfile 的名称(默认为“PATH/Dockerfile”即具体路径/文件名)
      -t  #镜像的名称和标签,格式为 “名称:标签”,其中标签为可选
    # . #表示当前目录,这个.暂时就当它是build命令结尾必须有的,后面笔记会讲到具体含义

    [root@localhost docker-test-volume]# docker build -f /home/docker-test-volume/dockerfile01 -t gelaotou/centos:1.0 .

  1. # 启动我们自己写的镜像
  2.  
  3. [root@localhost docker-test-volume]# docker images
  4. REPOSITORY TAG IMAGE ID CREATED SIZE
  5. gelaotou/centos 1.0 573c82788b4f 9 minutes ago 209MB
  6. tomcat_gelaotou 1.0 fabb99d62dfe 5 hours ago 673MB
  7. tomcat 9.0 266d1269bb29 7 days ago 668MB
  8. tomcat latest 266d1269bb29 7 days ago 668MB
  9. nginx latest dd34e67e3371 9 days ago 133MB
  10. mysql 5.7 6c20ffa54f86 9 days ago 448MB
  11. elasticsearch 7.14.0 e347b2b2d6c1 3 weeks ago 1.04GB
  12. portainer/portainer latest 580c0e4e98b0 5 months ago 79.1MB
  13. centos latest 300e315adb2f 8 months ago 209MB
  14. [root@localhost docker-test-volume]# docker run -it 573c82788b4f /bin/bash

  1. # 这个卷和外部一定有一个同步的目录!


  1. #查看容器ID
    [root@localhost docker-test-volume]# docker ps -a
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    e26e6d7e5c4b 573c82788b4f "/bin/bash" 8 minutes ago Exited (0) 50 seconds ago hardcore_noether
    #查看容器详细信息
    [root@localhost docker-test-volume]# docker inspect e26e6d7e5c4b

    # 查看一下挂载的路径,确实是匿名挂载

总结

  • 这种方式我们工作中使用的非常多,因为我们通常会构建自己的镜像!
  • 假设构建镜像时,构建镜像脚本Dockerfile中没有VOLUME挂载卷,当我们run 这个脚本构建的镜像的时候,需要手动挂载。-v 卷名:容器内路径

Docker系列(19)- 数据卷之Dockerfile的更多相关文章

  1. Docker系列八: 数据卷

    什么是数据卷 生成环境中使用docker的过程中,往往需要对数据进行持久化,或者需要多个容器之间进行数据共享,这个就涉及到了容器数据管理 容器中管理数据主要有两种方式: 数据卷:容器内数据之间映射到本 ...

  2. docker学习5--docker数据卷(volume)

    https://blog.csdn.net/dream_broken/article/details/52314993 1.什么是数据卷volume 为了了解什么是Docker Volume,首先我们 ...

  3. Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。

    Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原. 数据卷就是数据(一个文件或者文件夹). Docker的理念之一是将应用与其运行的环境打包,docker容器的生命周 ...

  4. Docker提交镜像-数据卷-可视化

    在熟悉完Docker的安装及基本命令使用之后,我们开始学习下Docker的进阶操作:包括但不限于新建Docker镜像,数据卷的挂载,以及Docker的可视化等. Docker提交镜像 启动镜像 我们先 ...

  5. 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云

    一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...

  6. docker仓库及数据卷

    docker help rmi, 删除本地镜像 docker run -it --name=centos centos:latest /bin/sh  --name的选项可以方便我们以后引用此imag ...

  7. Docker进阶:容器卷、DockerFile、Docker网络原理

    1.Docker镜像 1.1镜像是什么 镜像是一种轻量级.可执行的独立软件包,用来打包软件运行环境和机遇运行环境开发的软件. 包含一个软件的所有内容.蒋所有的应用和环境,直接打包为docker镜像,直 ...

  8. docker基础_数据卷

    docker数据卷 为什么要使用数据卷 如果数据都在容器中,那么容器一旦删除,数据就会丢失!docker容器需要将产生的数据同步到本地.容器与容器之间也需要有一个数据共享的技术 将某些文件共享.这就是 ...

  9. 使用docker inspect获取数据卷信息时返回地址为空

    使用 docker inspect 命令查看容器挂载的volume的目录 $ sudo docker inspect --format "{{.Volumes}}" redis-m ...

  10. 【Docker】利用数据卷容器来备份、恢复、迁移数据卷

    利用数据卷容器来备份.恢复.迁移数据卷 可以利用数据卷对其中的数据进行进行备份.恢复和迁移. 备份 首先使用 --volumes-from 标记来创建一个加载 dbdata 容器卷的容器,并从主机挂载 ...

随机推荐

  1. 【笔记】Ada Boosting和Gradient Boosting

    Ada Boosting和Gradient Boosting Ada Boosting 除了先前的集成学习的思路以外,还有一种集成学习的思路boosting,这种思路,也是集成多个模型,但是和bagg ...

  2. HTTP缓存——协商缓存(缓存验证)

    协商缓存 所谓"协商",可以理解为:客户端和服务端双方商量着来. 客户端检查资源超过有效期.强缓存命中失败的情况下,则发出请求"询问"服务器是否资源真的过期了, ...

  3. FileUtils 文件工具类

    FileUtils 下载jar中的文件 package com.meeno.chemical.common.utils; import lombok.extern.slf4j.Slf4j; impor ...

  4. MVVMLight学习笔记(二)---MVVMLight框架初探

    一.MVVM分层概述 MVVM中,各个部分的职责如下: Model:负责数据实体的结构处理,与ViewModel进行交互: View:负责界面显示,与ViewModel进行数据和命令的交互: View ...

  5. 【java虚拟机】jvm调优原则

    转自:https://www.cnblogs.com/xiaopaipai/p/10522794.html 合理规划jvm性能调优 JVM性能调优涉及到方方面面的取舍,往往是牵一发而动全身,需要全盘考 ...

  6. LeetCoded第25题题解--K个一组翻转链表--java--链表

    链表 单链表:链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素的引用字段链接在一起. 双链表:与单链表不同的是,双链表的每个节点都含有两个引用字段. 链表优点 灵活分配内存空间 能在O ...

  7. Javascript - Vue - vuex

    vuex 这是一个与vue配套的公共数据管理工具,可以将一些需要共享的数据保存到vuex中,以此方便项目中的任何组件都可以从vuex中得到共享数据.cnpm i vuex -S 装包 读取数据 //在 ...

  8. eclipse性能调优的一次记录

    最近因为学习原因,eclipse中插件越来越多,造成eclipse一次次假死,着实很影响工作效率和心情,有时正是兴起,但是造成短片很令人生气,如果eclipse卡顿或者假死,在电脑配置较不错的情况下, ...

  9. 多线程编程<五>

    1 /** 2 * 中断线程:当线程由于调用sleep(),join(),wait()而暂停时,如果中断它,则会收到一个InterruptedException异常. 3 * 调用Thread.isI ...

  10. IDEA第三方jar包引入的三种方法(专治IDEA2020.1.1的坑)

    一: 二: 三: