我希望写个 Dockerfile
,并让它跑起来。
遇事不决先看文档。先看看 Best practices for writing Dockerfiles 吧。
1 |
|
这里的每一行都是一个指令 (instruction
),每条指令会创建一个层 (layer
)。将需要的文件准备好,且 DockerFile 编写完成后,在终端运行下列命令,稍等片刻,镜像应该就能完成构建,并在容器里运行了。
1 |
|
整个过程就像给电脑装软件那样,先从官方安装操作系统,然后再在上面安装应用程序。众所周知,电脑城(x)学校机房或者网吧这样的地方很需要一套标准化的软件安装流程,用来给每台电脑安装一样的操作系统和应用,提供一样的服务。于是,有人将常用的软件打包进系统,使用这样的整合包进行装机就方便了不少。同样,有了 Dockerfile 的指引,Docker 能简单、快速地准备好运行应用所需的环境,应用的部署和缩放变得更快更方便了。
在整合包安装完成后,我们也可以再额外安装自己需要的应用程序。如果乐意,还可以做个属于自己的整合包。Docker 也是这样,引用已有的镜像能省去我们不少的时间,很多时候还能节省储存空间。在下面这个例子中,我们从一个带 php 的 apache 开始,直接将我们的网站文件复制进去,就比直接从操作系统开始安装网站服务器方便许多。
1 |
|
别忘了,我们正在容器里运行一个网站服务器。要想在容器外访问到它,还得把端口暴露出来。运行下面的命令,就可以完成构建和启动了。
1 |
|
这篇文章大概就写这么多了。希望你也可以迈出启动 Docker 的第一步!