Docker镜像构建与安全强化全解析
1. 基于Dockerfile自动构建镜像
在使用Dockerfile自动构建镜像时,以 http-client 程序为例,其运行阶段基于 scratch 。当从 scratch 构建镜像时,文件系统初始为空,镜像仅包含复制进去的内容。以下是 http-client.go 的代码:
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
fmt.Println("response:\n", string(body))
由于 http.Get 语句使用HTTPS协议检索文件,程序需要一组有效的TLS证书颁发机构(CA)。CA证书可从构建阶段获取,因为之前已经安装。运行阶段将 ca-certificates.crt 和 http-client 文件从构建阶段复制到运行阶段:
COPY --from=builder \
/etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt
COPY --from=buil
超级会员免费看
订阅专栏 解锁全文
1050

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



