ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dockerfile 小记

2022-06-23 20:32:50  阅读:157  来源: 互联网

标签:容器 CMD 指定 ENTRYPOINT 镜像 docker Dockerfile 小记


来源:https://www.bilibili.com/video/BV1k7411B7QL?spm_id_from=333.999.0.0&vd_source=c7efea58683b7cac78db212090cd2e4e

FROM openjdk:8-jdk-slim # 配置基础运行环境(镜像)

COPY (以Dockerfile所在目录为基础的)文件 容器中的目标地址 # 将主机文件复制到容器

ADD # 和 COPY 相似,但可以从 url 中进行拷贝
# 一般使用 COPY
# CMD


CMD  ["java", "-jar", "demo.jar"] # 指定容器运行时的命令

ENTRYPOINT ["java", "-jar", "demo.jar"]
# ENTRYPOINT 和 CMD 类似

# 注:如果 Dockerfile 中这两个指令未指定,则该镜像继承自父镜像,如果父镜像也没有,则镜像无法构建
# 如果 CMD 和 ENTRYPOINT 均指定了
# 两者的关系:如果 ENTRYPOINT 不是 json 数组的形式,那么一切以 ENTRYPOINT 为准,CMD 等于无效
# 如果 ENTRYPOINT 是 json 数组的形式,同时 CMD 也是 json 数组的形式,那么将 ENTRYPOINT 和 CMD 前后拼接成一句 shell 来执行

EXPOSE # 指定当前的镜像暴露的端口

docker inspect 镜像名:标签
获取容器/镜像的元数据

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS说明:

-f :指定返回值的模板文件。

-s :显示总的文件大小。

--type :为指定类型返回JSON。

VOLUME /a/b 指定容器数据卷

ENV 指定容器的环境变量

e.g.
ENV A=10 # 或者 A 10 用空格
CMD echo $A

docker run -e 环境变量
docker run -e A=10

ARG 构建参数,只有在构建的时候才有效(构建 docker build)
和 ENV 不同,ENV 相当于容器的环境变量,在容器运行时也有效

ARG 可用于构建时指定不同的参数
docker build -t test --build-arg B=12 .

LABEL k="v" k1="v1" 一般写在第二行,用于指定元数据信息,便于用于 docker inspect

ONBUILD ENV C=100
ONBUILD 后面可以指定其他 Dockerfile 中的参数,这个是在镜像被创建的时候运行的
比如在另一个 Dockerfile 中
FROM test # 这里使用了 test 作为父镜像,test 中有 ONBUILD

STOPSIGNAL 指定终止容器的信号名
HEALCHECK 检查运行状态
Dockerfile文件SHELL指令可以覆盖命令的shell模式所使用的默认shell。 Linux的默认shell是 [“/bin/sh”, “-c”],Windows的是 [“cmd”, “/S”, “/C”]

标签:容器,CMD,指定,ENTRYPOINT,镜像,docker,Dockerfile,小记
来源: https://www.cnblogs.com/slime04/p/16403908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有