<代码> 指定基镜像。 维护人员 设置镜像的作者,可以是任意字符串。 复制 将文件从构建环境复制到镜像。 复制支持两种形式: 复制src桌子 复制(“src”、“桌子”) 注意:src只能指定构建环境中的文件或目录。 添加 与复制类似,从构建环境复制文件到镜像。不同的是,如果src是归档文件(焦油、邮政、tgz xz等),文件会被自动解压到桌子。 ENV 设置环境变量,环境变量可被后面的指令使用例。如: … ENV MY_VERSION 1.3 运行apt-get安装- y mypackage=$ MY_VERSION … 暴露 指定容器中的进程会监听某个端口,码头工人可以将该端口暴露出来。我们会在容器网络部分详细讨论。 体积 将文件或目录声明为体积。我们会在容器存储部分详细讨论。 WORKDIR 为后面的运行,CMD,入口点,添加或复制指令设置镜像中的当前工作目录。 运行 在容器中运行指定的命令。 CMD 容器启动时运行指定的命令。 Dockerfile中可以有多个CMD指令,但只有最后一个生效.CMD可以被码头工人之运行后的参数替换。 入口点 设置容器启动时运行的命令。 Dockerfile中可以有多个入口点指令,但只有最后一个生效.CMD或码头工人之运行后的参数会被当做参数传递给入口点。 下面我们来看一个较为全面的Dockerfile: 代码>
<代码>注:Dockerfile支持以“#”开头的注释。 构建镜像:代码>
<代码>①构建前确保建立上下文中存在需要的文件。 ②依次执行Dockerfile指令,完成构建。 运行容器,验证镜像内容:代码>
<代码>①进入容器,当前目录即为WORKDIR。 如果WORKDIR不存在,码头工人会自动为我们创建。 ②WORKDIR中保存了我们希望的文件和目录: 目录群:由添加指令从构建环境复制的归档文件bunch.tar.gz,已经自动解压。 文件tmpfile1:由运行指令创建。 文件tmpfile2:由复制指令从构建环境复制。 ③ENV指令定义的环境变量已经生效。代码>