DockerFile 是什么,长什么样,相关语法要求

# #  什么是dockerFile 呢

 用我们熟悉的java来举例子把: hello.java  编译后是 hello.class  字节码文件

 docker 就是 编译后机器能够识别的  images 的描述文件

 dockerFile 是用来构建docker镜像的构建文件,由命令参数构成的脚本

# #镜像构建的流程

# # 自己不会写dockerFile怎么办

 看下别人写的dockeFile ,先贴一个 git  的地址

https://github.com/CentOS/sig-cloud-instance-images/blob/d9560a37644faaeac50162582f82a5ee920dc37e/docker/Dockerfile

扫描二维码关注公众号,回复: 9355919 查看本文章

 以centos 7 为例,看看dockerFile 是怎么写的 

    
FROM scratch
ADD centos-7-x86_64-docker.tar.xz /

LABEL org.label-schema.schema-version="1.0" \
    org.label-schema.name="CentOS Base Image" \
    org.label-schema.vendor="CentOS" \
    org.label-schema.license="GPLv2" \
    org.label-schema.build-date="20191001"

CMD ["/bin/bash"]

# # 详细解析 dockerFile 

一起来看 dockerFile 都是什么

 FROM  scratch   可以类比我们的 java 汇总的  class  Object ,scratch 就是docker 所有镜像的父类

# # dockerFile 书写规则

 保留字指令要大写,后边有空格,后边必须有内容。 比如  FROM  scratch 

 指令从上往下依次执行

 # 代表注释

 每条指令都会创建一个新的镜像层

# # dockerFile 保留字

FROM  :代表当前镜像基于哪个镜像的

MAINTAINER :是作者名字 ,和邮箱

RUN :容器构建时要运行的命令

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

WORKDIR :进去以后的首先所在的路径

ENV :用来构建镜像时设置环境变量

ADD : 拷贝镜像,并解压缩

VOLUME :容器数据卷,用来持久化数据

CMD :指定一个容器启动时要运行的命令,dokerFile 里边可以有多个,但是最后一个生效

ENIRYPOINT :指定一个容器启动时要运行的命令,可以有多个,命令都生效。

ONBUILD :相当于是触发器,当容器被继承后,出发事件。

# # 一个 dockerFile 的 练习案例

https://blog.csdn.net/star1210644725/article/details/104222174

  

发布了336 篇原创文章 · 获赞 295 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/star1210644725/article/details/104212373