有了基础镜像之后还不够,我们经常还需要安装一些依赖,比如yum install gcc,甚至还要创建一些文件夹。最后才是运行我们的目标应用程序。我们知道 linux 中,所有工作都可以通过命令行完成,所以我们可以将要做的事情以命令行的形式一行行列出来。就像一份 todo list。意思是要求在基础镜像的基础上按着 todo list 挨个执行命令。这份 todo list 长下面这样。
我们现在知道了 Docker 容器 本身只是一个特殊进程,但如果我想要部署多个容器,且对这些容器的顺序有一定要求呢?比如一个博客系统,当然是先启动数据库,再启动身份验证服务,最后才能启动博客 web 服务。按理说挨个执行 docker run 命令当然是没问题的,但有没有更优雅的解决方案?有。我们可以通过一个 YAML 文件写清楚要部署的容器有哪些,部署顺序是怎么样的,以及这些容器占用的 cpu 和内存等信息。