三、Docker构建自己的镜像

Dockerfile是用来快速创建自定义镜像的一种文本格式的配置文件,在持续集成和持续部署时,需要使用Dockerfile生成相关应用程序的镜像

制作镜像的技巧 编辑Dockerfile文件时,
1、合并多个命令为一行 压缩镜像层
2、变化平凡的指令放到后方,不变化的指令放到前方,
节约制作镜像版本的时间,可以生成缓存,提高制作镜像的时间

制作镜像是分层制作,1、操作系统镜像层   2、个业务软件系统镜像层    3、业务之间关联镜像层    使用 docker build 方式   用脚本制作镜像 可以批量 有日志 
首先我们选择官方基础系统镜像,一般为alpine  也可以用ubuntu 和busybox(最小但缺少命令)
  docker 官方镜像网站 查找系统镜像的版本号
  https://hub-stage.docker.com/

  ====================================
  为了方便执行docker build 等复杂命令,
  可以制作一个 sh的脚本来统一执行,并生产不同的版本惊喜那个
  执行脚本名字可命名为 buile.sh 内容如下
  
  #!/bin/bash
  docker build -t mynginx:1.20.0-$1 .
  
  mynginx:1.20.0 是镜像名称和版本
  -$1 是生成自制版本的变量    buile.sh 版本变量  如果执行Dockerfile文件内容不变时,会生成新的版本镜像,但上一个镜像名会为空
  . 是本目录的Dockerfile文件所在目录
  
  使用如下
  ./buile.sh v0.3
  
  ====================================

养成好的镜像目录分类习惯,按照业务或类型方式划分创建Dockerfile文件目录环境,以便查找Dockerfile文件
mkdir /data/dockerfile/{web/{nginx,apache,tomcat,jdk},system/{alpine,centos,ubuntu,busybox}} -p
tree /data/dockerfile/
/data/dockerfile/
├── system
│   ├── alpine
│   ├── busybox
│   ├── centos
│   └── ubuntu
└── web
    ├── apache
    ├── jdk
    ├── nginx
    └── tomcat
    
首先我们创建一个Dockerfile文件,在对应的应用程序的Dockerfile目录下创建    
如:我们要建立nginx的项目,就在/data/dockerfile/web/nginx 下创建一个Dockerfile文件
再执行docker build 是进入该目录 可以省去 书写    Dockerfile目录 
进入/data/dockerfile/web/nginx目录

touch Dockerfile   #创建文件

Dockerfile的常用命令

ADD           添加本地或远程文件和目录。复制文件到容器,一般复制文件,压缩包自动解压。
ARG           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值