zoukankan      html  css  js  c++  java
  • 初识Dokerfile

    初识Dokerfile

    Dockerfile是用来构建docker镜像的构建文件,是一种命令脚本

    通过Dockerfile可以生成镜像,镜像是一层一层的,脚本是一个个的命令每个命令都是一层

    dockerfile指令介绍

    # 注意:指令全部大写,每个命令就相当于镜像的一层
    FROM # 基础镜像,一切从这里开始构建
    MAINTAINER # 镜像是谁写的,姓名+邮箱
    RUN # 镜像构建的时候需要执行的命令
    ADD # 添加内容,详解:https://www.cnblogs.com/sanduzxcvbnm/p/13821268.html
    WORKDIR # 镜像的工作目录
    VOLUME # 挂载目录
    EXPOSE  # 暴露端口
    CMD # 指定容器启动的时候要运行的命令,只有最后一个会生效,可被替代
    ENTRYPOINT # 指定容器启动的时候要运行的命令,可以追加命令
    COPY # 类似ADD,将我们的文件拷贝到镜像中
    ENV # 构建的时候设置环境变量
    ARG # 定义构建镜像时需要的参数,详解:https://blog.csdn.net/taiyangdao/article/details/73310434
    

    通过案例体验Dockerfile

    • 创建一个文件夹存放dockerfile文件
    mkdir docker_test_volume
    
    • 在文件夹内创建dockerfile文件用来写命令脚本
    vim dockerfile01
    
    • 脚本内容
    FROM centos # 基于centos镜像
    
    VOLUME ["volume01","volume03"] # 容器数据卷匿名挂载
    
    CMD echo "---end----" # 输出
    CMD /bin/bash # 以/bin/bash控制进入
    
    • 执行脚本
    docker build -f /home/yl01/docker_test_volume/dockerfile01 -t yl/centos:1.0 . # -f:脚本路径,-t:生成镜像名,1.0:版本,.:当前路径
    
    • 查看镜像
    docker images
    

    可以看到刚才生成的镜像

    • 启动镜像
    docker run -it  586d09d227c7 /bin/bash
    
    • 查看是否挂载成功
    ls -l # 可以看到挂载目录
    
    • 进入容器内挂载目录创建文件
    cd volume01
    touch test.txt
    
    • 新建窗口查看容器信息
    docker inspect 2d7f00e8bd26
    
    • 找到对应主机的挂载目录

    • 进入对应主机目录查看是否生成文件
    cd /var/lib/docker/volumes/825ea86b0bf90b3a29f5e13f6ab7e2c98ef5d2255cb4711c21952c8f2cbb81b2/_data
    

    可以看到主机目录下也生成了test.txt文件,跟容器内目录是同步的

    记得快乐
  • 相关阅读:
    rhel 7.0 配置centos yum源(2016/12/8),成功!
    rosetta2014/2015安装时出现INCLUDE(keyerror)错误,解决。
    显示python已安装模块及路径,添加修改模块搜索路径
    sort
    linux 查看磁盘剩余命令
    cat hesA/Models/score_tgt.sc| awk '{ print $2,$19}' | sort -n -k 1
    Python_sys模块
    Python_os模块
    Python_datetime模块
    Python_time模块
  • 原文地址:https://www.cnblogs.com/Y-wee/p/14511334.html
Copyright © 2011-2022 走看看