本文将教你只需要10步就 Docker 化一个应用,这是应用 Docker 非常实用的技巧与准则,一起来读读吧。
一、选择基础镜像
每种对应技术几乎都有自己的基础镜像,例如:
https://hub.docker.com/_/java/
https://hub.docker.com/_/python/
https://hub.docker.com/_/nginx/
如果不能直接使用这些镜像,我们就需要从基础操作系统镜像开始安装所有的依赖。
网上大多数教程使用的都是以 Ubuntu(例如:Ubuntu 16.04(建议采用该版本) 或者最新的 Ubuntu 18.04)作为基础镜像,这并不是一个问题,但是我建议优先考虑 Alpine 镜像:
https://hub.docker.com/_/alpine/
Alpine 是一个非常小的基础镜像(它的容量大约只有 5MB)。
注:在基于 Alpine 的镜像中你无法使用 apt-get 命令。不过你不必担心,因为 Alpine 系统有自己的软件包仓库和包管理工具 apk。关于 apk 的具体使用你可以详细参考:轻量级Alpine Linux版本配置使用技巧一展一文。
二、安装必要软件包
这个步骤通常比较琐碎,有一些容易忽略的细节:
1.apt-get update 和 apt-get install 命令应该写在一行(如果使用 Alpine 则对应的是 apk 命令)。这不是一个常见的做法,但是在 Dockerfile 中应该要这么做。否则 apt-get update 命令产出的临时层可能会被缓存,导致构建时没有更新包信息。
2.确认是否只安装了实际需要的软件(特别是在生产环境中运行