# 意思是基于某个镜像(该参数是必须有,在第一行)
FROM java:8
# 指定接下来的shell语句运行在该目录下
#WORKDIR
# 将宿主机数据拷贝到容器中
COPY ./*.jar ./app.jar
# 与COPY相似,都是讲数据复制到容器,(区别是ADD还可以使用url,但不推荐使用)
#ADD
# 运行的shell语句(构建时就会运行)
#RUN
# 指定暴露端口,该端口是容器的端口
EXPOSE 80
# 指定参数(构建时生效,运行时不生效)
# ARG可配合ENV在构建时改变参数(
# 构建时将参数B改为12,eg: docker build -t myapp:1.2 --build-arg B=12 .)
#ARG B=10
# 指定环境变量(构建和运行都有效)
#ENV A=$B
# 指定标签,展示作用,如同注释
#LABEL k="v" k1="v1"
# 如果其他镜像使用该镜像ONBUILD生效
#ONBUILD ENV C=100
# 与RUN有点类似,(区别:CMD是容器运行时才会运行)
CMD java -jar app.jar
# 与CMD相似,(可与CMD搭配使用)
# 1、如果ENTRYPOINT不是json则以它为准,
# 2、如果ENTRYPOINT和CMD都是json则拼接成shell)
ENTRYPOINT java -jar app.jar
# 下面三个参数很少使用
#STOPSIGNAL
#HEALTHCHECK
#SHELL
注:1、 所有的参数都是大写(eg: FROM,CMD)
2、 除了FROM其他的都是非必选的参数
Dockerfile参数释义
最新推荐文章于 2024-01-07 22:53:15 发布