码头工人制作镜像(apache、systemctl ssh)

  

码头工人制作镜像

  

本章结构

  
      <李>码头工人镜像的分层   <李> Dockerfile基本创建方法   <李> Dockerfile创建各种应用容器李   
  

码头工人镜像的分层

  
Dockerfile中的每个指令都会创建一个新的镜像层
  
镜像层将被缓存和复用
  
当Dockerfile的指令修改了,复制的文件变化了,或者构建镜像时指定的变量不同了,对应的镜像缓存就会失效h5> 某一层的镜像缓存失效之后,它的镜像层缓存都会失效h5> 镜像层是不可变的,如果在某一层中添加一个文件,然后在下一层中删除它,则镜像中依然会包含该文件
  

码头工人镜像的创建

  
码头工人镜像
  
      <李>是应用发布的标准格式李   <李>可支撑一个码头工人容器的运行   
    码头工人镜像的创建方法
      <李>基于已有镜像创建李   <李>基于本地模板创建李   <李>基于Dockerfile创建   

    基于已有镜像创建

      
    将容器里面运行的程序及运行环境打包生成新的镜像
      
  
 <代码类=" sql语言">码头工人创造- centos/bin/bash
  码头工人commit - m“新”——“daoke a19597abf62d daoke: centos  
  
      <李> - m:说明信息李   <李>——:作者信息李   <李> - p:生成过程中停止容器的运行   

    基于本地模板创建

      
    通过导入操作系统模板文件生成新的镜像
      <编辑>使用wget命令导入为本地镜像   
  
 <代码类=" sql语言"> wget http://123.56.134.27/pub/package/LAMP-C7/nginx-1.12.0.tar.gz
  
  猫nginx-1.12.0.tar。广州|进口码头工人,码头工人:新 
  <编辑>导入成功后可查看本地镜像信息   
 <代码类=" sql语言">码头工人图片| grep新 
  

基于Dockerfile创建

  
Dockerfile是由一组指令组成的文件
  
Dockerfile结果四部分
  
      <李>基础影响信息李   <李>维护者信息李   <李>镜像操作指令李   <李>容器启动时执行指令   
    使用Dockerfile创建镜像并在容器中运行
               指令   含义               从镜像   指定新镜像所基于的镜像,第一条指令必须为从指令,每创建一个镜像就需要FFROM指令。         维护者名字   说明新镜像的维护人信息         运行命令   在所基于的镜像上执行命令,并提交到新的镜像中         CMD["要运行的程序“,“参数1,“参数2“)   指令启动容器时要运行的命令或者脚本,Dockerfile只能有一条CMD命令,如果指定多条则只能最后f被执行         暴露端口号   指定新镜像加载到码头工人时要开启的端口         ENV环境变量变量的值   设置一个环境变量的值,会被后面的运行使用         添加源文件/目录目标文件/目录   将源文件复制到目标文件,源文件要与Dockerfile位于相同目录中,或者是f的URL         复制源文件/目录目标文件/目录   将本地主机上的文件/目录复制到目标地点,源文件/目录要与DGckerfile在相同的目录中         体积(“目录“)   在容器中创建一个挂载点         用户用户名/UID   指定运行容器时的用户         WORKDIR路径   为后续的跑,CMD,入口点指定工作目录         ONBUILD命令   指定所生成的镜像作为一个基础镜像时所要运行的命令         HEALTHCHECK   健康检查         李   
  

Dockerfile创建各种应用容器

  

Dockerfile创建apache镜像容器

  
 <代码类=" sql语言"> mkdir apache
  cd apache/vim Dockerfile
  #基于的基础镜像
  从centos
  #维护镜像的用户信息
  维护项目& lt; cloude-docker>
  #镜像操作指令安装apache软件
  运行yum - y更新//更新百胜仓库
  运行yum安装httpd - y
  80 #开启端口
  80年公开
  #复制网站首页文件
  添加索引。html/var/www/html/index.html
  #将执行脚本复制到镜像中
  添加运行。sh/run.sh
  运行chmod 755/run.sh
  #启动容器时执行脚本
  CMD (“/run.sh”)
  
  # vim run.sh root@localhost选择
  # !/bin/bash
  rm射频/运行/httpd/*
  exec/usr/sbin/apachectl - d前景
  
  “这是网络”index . html//生成镜像
  码头工人建造- t httpd: centos。//新镜像运行容器
  码头工人运行- d - p 1216:80 httpd: centos 

码头工人制作镜像(apache、systemctl ssh)