容器镜像与Kubernetes集群部署全解析
容器镜像的构建与管理
在容器化应用的开发与部署中,容器镜像的构建和管理是至关重要的环节。
避免机密与镜像混合
在操作容器镜像时,一个关键原则是绝不能将机密信息(如密码)与镜像混合。因为一旦攻击者获取了正确的工具,就能轻易创建一个仅包含密码层的镜像,从而导致安全漏洞,给公司或部门带来严重后果。
多阶段镜像构建
在构建容器镜像时,常见的一个问题是意外构建出大型镜像。例如,将程序编译作为应用容器镜像构建的一部分,虽然这样做感觉很自然且简单,但会使镜像中包含大量不必要的开发工具,导致镜像体积庞大,部署速度变慢。
为解决这个问题,Docker引入了多阶段构建。多阶段构建允许一个Dockerfile生成多个镜像,每个镜像作为一个阶段,并且可以将前一阶段的工件复制到当前阶段。
以构建示例应用kuard为例,一个简单的Dockerfile如下:
FROM golang:1.11-alpine
# Install Node and NPM
RUN apk update && apk upgrade && apk add --no-cache git nodejs bash npm
# Get dependencies for Go part of build
RUN go get -u github.com/jteeuwen/go-bindata/...
RUN go get github.com/tools/godep
WORKDIR /go/
容器镜像与K8s部署详解
超级会员免费看
订阅专栏 解锁全文
651

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



