美文网首页
使用dockerfile构建自己的镜像

使用dockerfile构建自己的镜像

作者: c_gentle | 来源:发表于2020-10-27 16:23 被阅读0次

一、什么是dockerfile

1.Dockerfile是Image镜像的描述文件
2.dockerfile内容详解
```
#利用FROM命令设置基准镜像
FROM tomcat:latest
#cd /usr/local/tomcat/webapps
WORKDIR /usr/local/tomcat/webapps
#ADD用于复制本地文件到镜像中
ADD docker-web ./docker-web
```
  它的作用是对我们的镜像进行描述,描述我们的镜像到底要做哪些工作,在这个文件中它书写了一系列的指令,通过这些指令docker就知道我们如果要安装一个tomcat,需要哪几步,安装 一个redis需要哪几步,这非常像我们linux中的shell脚本或者是windows中的bat。

二、Dockerfile基础指令

1.from-基于基准镜像
    from  centos #制作基准镜像
    from  scratch  #不依赖任何基准镜像 base image
    from tomcat: 9.0.22-jdk8-openjdk
    尽量使用官方提供的Base Image
2.label-说明信息(注释)
    label  maintainner='caiweiwei'
    label  version='10'
    label description='caiweiwei应用'
3.workdir-设置工作目录
      workdir /usr/local
      workdir /usr/local/caiweiwei  #自动创建
      尽量使用绝对路径
4.add & copy-复制文件
      add hell /  #复制到根路径
      add test.tar.gz / #添加根目录并解压
       add除了复制,还具备添加远程文件功能
  5.env-设置环境常量
        env java_home /usr/local/openjdk8
        run${java_home}/bin/java -jar test.jar
        尽量使用环境常量,可提高程序维护性
6.expose -暴露容器端口
        expose 8080
        expose 3306
        将容器内部端口暴露给物理机

二、Dockerfile运行指令

1.RUN :在build构建时执行命令
    run yum install -y vim  #Shell命令格式
    run["yum","install","-y","vim"] #Exec命令格式
2.entrypoint: 容器启动时执行的命令
    entrypoint(入口点)用于容器启动时执行命令
    dockerfile中只有最后一个entryfile会被执行
    entrypoint["ps"] #推荐使用Exec格式
3.cmd: 容器启动后执行默认的命令或参数
    cmd用于设置默认执行的命令
    如果dockerfile中出现多个cmd,则只有最后一个被执行
    如容器启动是附加指令,则cmd被忽略
    cmd["ps","-ef"]  #推荐使用Exec格式

相关文章

网友评论

      本文标题:使用dockerfile构建自己的镜像

      本文链接:https://www.haomeiwen.com/subject/wpbtvktx.html