创建镜像时忽略掉上下文环境目录中的特定内容

前提

本文的预期读者是熟练使用docker命令的开发者,有过编写dockerfile经验的开发者。

场景

一般开发过程中,上下文环境目录中会存放很多不需要放到镜像中的内容,忽略掉上下文环境目录中的特定内容,可以大大提高生成镜像的速度。

实现方式

在上下文环境根目录下增加一个名字固定为.dockerignore的文本文件,用于剔除不需要作为上下文内容传递给引擎的内容。

基础使用

  • 忽略上下文环境中所有内容
    *
    
  • 不忽略上下文环境中特定内容
    !/file
    
  • 以通配符忽略上下文环境中特定内容
    /folder/*.tmp
    
  • 以通配符不忽略上下文环境中特定内容
    !/script/*
    

使用举例

  • .dockerignore

    *
    !/script/*
    !/data/*
    !/tool/*
    
  • dockerfile

    # 基础镜像
    FROM nginx
    # 拷贝数据
    COPY /script/ /home/platform/
    COPY /tool/ /usr/local/bin/platform/
    COPY /data/ /data/platform/
    # 指定工作目录
    WORKDIR /home/platform/
    # 指定启动容器入口
    ENTRYPOINT ["/bin/bash"]
    
  • build

    docker build -f ./build/dockerfile -t harbor.callmefor.com/root/paltform:1.0.0 ../
    
  • 目录

    .
    ├─ docker/
    	├─ build/
    		├─ dockerfile
    	├─ deploy/
    ├─ data/
    	├─ image.jpg
    ├─ script/
    	├─ deploy.sh
    ├─ tool/
    	run.sh
    ├─ .dockerignore
    

注意

  • 编写dockerfile时,路径都是相对于上下文环境根目录。
  • 执行build命令时,路径都是相对于执行命令的工作目录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值