docker file
Docker file
默认镜像无法满足需求。容器配置文件不符合自身需求。
1.启动容器进入容器修改。较为复杂,更改完需重启和reload。
2.路径配置文件与容器向关联,存储卷。宿主机与容器内加载配置文件,建立关联关系。不能立即生效,需修改重载。
3.构建自定义镜像。
一个进程替换另外一个进程:exec。
顺序执行,相互依赖关系。不同,建立与基础镜像之中。
Docker文件首字母大写。构建镜像所需所以文件需放在和dockerfile文件同一目录。
支持隐藏文件dockeringore,所有构建容器所需的文件放在这个文件中都不编译进包含进镜像里面。
第一非注释行为: FROM: 指定基础镜像。
支持的命令都存在容器内部的命 令不是主机内支持的。
LABEL 注释信息
COPY 主机文件复制到docker镜像中 不复制包括自身目录而是目录下的子文件。
docker build --tag boxhttpd:v0.2 ./ ** // –tag 标签 ./ 当前路径**
ADD 支持tar 文件和url.相当于copy。支持url 本地的tar文件如果是本地文件就支持展开,如果是下载得 就还是tar文件。例:
如果下载在本地:则会展开
WORKDIR :指定工作目录。
这里的./就是指定当前工作目录。
相对路径 逆序往上找就是工作目录可以有多个workdir参数
Volume 卷 指定存储卷。自动创建存储卷。容器内部存储卷。指的是容器内部的存储卷。
EXPOSE 指定端口暴露端口 镜像编译指定暴露端口,也不一定能显示暴露端口需要在启动容器时添加-P选项。待暴露并不是启动容器就会暴露而是默认暴露端口,启动容器时-p选项也可自定义暴露端口。
ENV 定义镜像所需的环境变量,可以用于Dockerfile 文件后的指令所调用 调用格式env
Build 可以定义环境变量。在容器启动时也可以定义环境变量 -e
CMD 容器默认使用命令。
RUN 在build中使用命令 例:在url中下载了一个文件。需要tar 开可以使用run 命令 run命令后面支持的命令是基于基础镜像所有的环境中。、可运行多次。命令上下有依赖关系可以使用多个命令相连。