首页 > 其他分享 >40_DockerFile简介

40_DockerFile简介

时间:2024-03-13 10:56:27浏览次数:29  
标签:RUN java 简介 CMD 40 ENV 镜像 HOME DockerFile

Dockerfile 简介

  1. 常用保留字
FROM
    基础镜像, 当前新镜像是基于哪个镜像的, 指定一个已经存在的镜像作为模板, 第一条必须是FROM
MAINTAINER
    镜像维护者的姓名和邮箱地址

RUN
    容器构建时需要运行的命令, 有两种格式
        RUN yum -y install vim
        RUN ["./test.sh", "para1", "para2"]

EXPOSE
    当前容器对外暴露出的端口

WORKDIR
    指定在创建容器后, 终端默认登陆的进来工作目录, 一个落脚点

USER
    指定该镜像以什么样的用户去执行, 如果都不指定, 默认是root

ENV
    用来在构建镜像过程中设置环境变量

ADD
    将宿主机目录下的文件拷贝进镜像且会自动处理URL和解压tar压缩包

COPY
    类似ADD, 拷贝文件和目录到镜像中. 将从构建上下文目录中 <源路径> 的文件/目录复制到新的一层的镜像内的 <目标路径> 位置
    方法:
        COPY src dest
        COPY ["src", "dest"]

VOLUME
    容器数据卷, 用于数据保存和持久化工作

CMD
    指定容器启动后的要干的事情, 同上分为shell格式和exec格式
    Dockerfile 中可以有多个 CMD 指令, 但只有最后一个生效, CMD 会被 docker run 之后的参数替换

ENTRYPOINT
    也是用来指定一个容器启动时要运行的命令
    类似于 CMD 指令, 但是ENTRYPOINT不会被docker run后面的命令覆盖,  而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序
  1. 编写 centos 安装 java 环境
FROM centos
MAINTAINER zzyy<[email protected]>
 
ENV MYPATH /usr/local
WORKDIR $MYPATH
 
# 安装vim编辑器
RUN yum -y install vim
# 安装ifconfig命令查看网络IP
RUN yum -y install net-tools
# 安装java8及lib库
RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
# ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
# 配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
 
EXPOSE 80
 
CMD echo $MYPATH
CMD echo "success--------------ok"
CMD /bin/bash

# build
docker build -t centosjava8:1.5

标签:RUN,java,简介,CMD,40,ENV,镜像,HOME,DockerFile
From: https://www.cnblogs.com/ckh2023/p/18070149

相关文章

  • MBR4060DC-ASEMI光伏专用二极管MBR4060DC
    编辑:llMBR4060DC-ASEMI光伏专用二极管MBR4060DC型号:MBR4060DC品牌:ASEMI封装:TO-263最大平均正向电流(IF):40A最大循环峰值反向电压(VRRM):60V最大正向电压(VF):V工作温度:-65°C~150°C反向恢复时间:ns重量:1.38克芯片个数:4芯片尺寸:130mil正向浪涌电流(IFMS):300AMBR4060DC特性:耐压......
  • 来自 AI Secure 实验室的 LLM 安全排行榜简介
    近来,LLM已深入人心,大有燎原之势。但在我们将其应用于千行百业之前,理解其在不同场景下的安全性和潜在风险显得尤为重要。为此,美国白宫发布了关于安全、可靠、可信的人工智能的行政命令;欧盟人工智能法案也对高风险人工智能系统的设立了专门的强制性要求。在这样的大背景下,我们首......
  • 408重难点总结汇总
     数据结构:栈:B、B+树:随机存取和随机查找的区别:随机存取是指访问存储设备中的数据,而随机查找是指在数据集合中查找特定数据项。 B,B+树支持随机查找。顺序查找和随机查找的区别:顺序查找是无论什么情况都是顺序的随机查找是依次查找数据项,与给定初始值有关散列表......
  • YC256B [ 20240312 CQYC省选模拟赛 T2 ] count
    题意对于一个长度为\(n\)的排列\(P\)。你需要求出所有满足条件的长度为\(k\)的数列\(A\)的个数。\(A\)单调不减且\(1\leA_i\len\)\(\min_{j=1}^{A_1}P_j=\min_{j-1}^{A_i}P_j\)求出对于\(P_1=x\)的所有排列的满足条件的\(A\)的个数。Sol......
  • 20240312
    我的心理素质太差了!又破防了!晚自习看到yyn在写点什么,好奇地凑过去看,兔子也看到了,但是他不理解「fjb」这个名词,问我是什么。我不相信兔子这种接触成人内容这么多的人还不知道,我就说了一个「sextoy」(当然我不知道这么说对不对,没准又要被某位同学锐评了),兔子没理解到,我给他说自己......
  • 找不到mfc140u.dll怎么办?修复缺失mfc140u.dll的多种方案分享
    mfc140u.dll文件是一个重要的动态链接库文件,它在Windows操作系统中发挥着关键的作用。由于各种原因,例如应用程序冲突或系统错误等,mfc140u.dll文件有时会出现丢失的情况。一旦发生这种问题,运行依赖此文件的应用程序将无法正常启动,可能导致错误提示或应用程序崩溃。因此,解决mfc14......
  • Git 系列:简介安装以及配置管理
    目录简介安装简介Centos安装配置管理githelp概要选项示例git-docgitconfig概要选项变量示例初始化配置简介安装简介https://git-scm.com/Git是一个开源的分布式版本控制系统,用于有效、高速地处理从小到大的项目版本管理。它最初由Linux之父LinusTorvalds设计开发,旨在帮助管......
  • 20240311 大模型快讯
    //社区生态//零一万物自研全导航图向量数据库。零一万物宣布推出基于全导航图的新型向量数据库笛卡尔(Descartes),已包揽权威榜单ANN-Benchmarks6项数据集评测第一名。//语言大模型//清华发布大模型长文本理解方法InfLLM。InfLLM在没有引入额外训练的情况下,利用一个外部......
  • SimpleUI [12/Mar/2024 19:32:11] "GET /admin/logout/ HTTP/1.1" 405 0 Method Not
    Django使用SimpleUI后,登出报错[12/Mar/202419:32:11]"GET/admin/logout/HTTP/1.1"4050MethodNotAllowed(GET):/admin/logout/MethodNotAllowed:/admin/logout/[12/Mar/202419:36:20]"GET/admin/logout/HTTP/1.1"4050原因升级到5.0后不......
  • 20240312打卡
    第三周第一天第二天第三天第四天第五天第六天第七天所花时间3h5h代码量(行)274256博客量(篇)11知识点了解完成AndroidStudio中原生数据库SQlite简单的CRUD本地数据库连接到远程数据库SQLite在Android应用中与远程MySQL数据......