Docker 之六 Dockerfile 详解
Dockerfile 介绍
Dockerfile 是用来构建 Docker 镜像的文件,实质是一系列命令和参数构成的脚本文件。当 Dockerfile 文件编写完之后,可以通过 “docker build” 与”docker run” 命令构建并运行新的 Docker 镜像。其中 Dockerfile 定义了进程需要的一切东西,涉及的内容包括执行代码或者文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版本、服务进程和内核进程(当应用进程需要和系统服务、内核进程打交道的时候,需要考虑如何设计 namespace 的权限控制)等等。
Dockerfile、Docker 镜像、Docker 容器三者的关系
Dockerfile 面向开发,Docker 镜像是交付标准,Docker 容器则涉及部署与运维,三者缺一不可,合力充当 Docker 体系的基石。从应用软件的角度来看,Dockerfile、Docker 镜像与 Docker 容器分别代表软件的三个不同阶段,其中 Dockerfile 是软件的原材料,Docker 镜像是软件的交付品,Docker 容器则可以认为是软件的运行状态,示意图如下: