Docker容器化应用:从构建到调试与本地测试
1. 多阶段构建容器
在容器构建中,多阶段构建是一种高效的方式。例如,有一个构建容器名为 buildstage ,负责构建代码,而运行时容器则使用精简的基础镜像,不包含编译工具。在多阶段构建的Dockerfile中,看起来像是将两个Dockerfile合二为一(每个都以 FROM 命令开头)。
第一个阶段使用包含Java编译器的完整OpenJDK基础镜像,专门用于编译应用程序;第二个阶段使用仅包含Java运行时环境的JRE基础镜像,只包含运行应用程序所需的内容。最终生成的生产容器只包含编译后的Java类和运行它所需的依赖项,而构建应用程序的第一个容器的中间产物在构建完成后实际上会被丢弃(技术上会保存在Docker缓存中,但不会包含在生产中使用的最终产物中)。
以下是运行示例的步骤:
$ cd Chapter02/2.1.8_MultiStage
$ docker build . -t compiled_code2
$ docker run compiled_code2
Hello Docker
还有一个使用多阶段构建过程编译服务器端Swift应用程序的示例,位于 Chapter02-swift/2.1.8_MultiStage 文件夹中,构建和运行方式相同。
2. 容器化服务器应用
前面的示例都是一次性运行的简单程序,而在Kubernetes中部署的最常见工作负载之一是HTTP服务,即监
超级会员免费看
订阅专栏 解锁全文
1271

被折叠的 条评论
为什么被折叠?



