Dockerfile的核心指令记录

### Dockerfile文件详解

#### 什么是Dockfile

​        Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

#### Dockerfile文件命令

​       1、FROM 指定基础镜像构建

​           FROM 镜像

​       2、COPY 复制命令。从上下文目录中复制文件或者目录到容器里指定路径。

​           写法:

​           COPY 源路径,目标路径

​           COPY ["源路径","目标路径"] 

​       3、RUN运行指令。构建的时候运行的指令

​           主要在于镜像构建的时候运行,运行build命令的时候 

​           后面接的命令就是shell输入的命令

​           写法

​           RUN  shell命令 参数1 参数2

​           RUN ["shell命令 ","参数1"," 参数2"]

​           例如:

​           RUN ["echo",">"," /usr/share/index.html"]

​        4、CMD运行指令。运行容器时候运行的指令

​           主要在于镜像运行容器的时候生成,运行run的时候运行

​           写法

​           CMD <shell 命令> 

​           CMD ["<可执行文件或命令>","<param1>","<param2>",...] 

​           例如:

​           CMD ["dotnet","rmcore.dll"]

​           缺点:在run 命令后面可以进行覆盖

​           docker run -d -P  rmcore dotnet rmcore.dll 进行覆盖掉

​       5、ENTRYPOINT运行指令。运行容器时候运行的指令(不会被覆盖)

​           写法

​           ENTRYPOINT ["<executeable>","<param1>","<param2>",...]

​           可以和CMD动态结合,设置动态的配置参数

​           例如 

​           ENTRYPOINT ["nginx", "-c"] 定参

​           CMD ["/etc/nginx/nginx.conf"]变参

​       6、EXPOSE暴露端口指令

​           仅仅声明端口,就是指定镜像暴露的端口

​           在run 的时候,通过docker run -p 会自动随机映射到EXPOSE端口

​           写法

​           EXPOSE 端口

​           EXPOSE 端口

​           例如 

​           EXPOSE 5000

​           EXPOSE 5001

​       7、WORKDIR工作目录指令

​           用于应用在容器内的工作目录,就好比:ruanmou目录

​           写法

​           WORKDIR <工作目录路径>

​           例如

​           WORKDIR /rmcore

​           或者

​           WORKDIR /nginx

posted @ 2020-03-26 12:59  Sandy.Zhao  阅读(147)  评论(0编辑  收藏  举报