新聞中心
Docker Build是Docker引擎最常用的功能之一-開發(fā)人員,構建團隊和發(fā)行團隊的用戶都使用Docker Build。
針對18.09版本的Docker Build增強功能引入了對構建體系結構急需的全面檢查。通過集成BuildKit,用戶應該看到性能,存儲管理,功能功能和安全性方面的改進。
1.可以將使用BuildKit創(chuàng)建的Docker映像推送到Docker Hub,就像使用舊版構建的Docker映像一樣
2.適用于舊版構建的Dockerfile格式也將與BuildKit構建一起使用
3.新的--secret命令行選項允許用戶傳遞秘密信息,以使用指定的Dockerfile構建新映像
要求
當前版本的Docker(18.09或更高版本)
下載自定義前端的鏡像所需的網(wǎng)絡連接
局限性
僅支持構建Linux容器
啟用BuildKit構建
全新安裝docker的最簡單方法是DOCKER_BUILDKIT=1 在調用docker build命令時設置環(huán)境變量,例如:
$ DOCKER_BUILDKIT=1 docker build .
要默認啟用Docker BuildKit,請將/etc/docker/daemon.jsonfeature中的守護程序配置設置 為true并重新啟動守護程序:
{ features: { buildkit: true } }
新的Docker Build命令行構建輸出
新的Docker構建BuildKit TTY輸出(默認):
新的Docker構建BuildKit普通輸出:
重寫默認前端
Dockerfile如果您覆蓋默認前端,則可以使用中的新語法功能。要覆蓋默認前端,請將的第一行設置 Dockerfile為
帶有特定前端圖像的注釋:
# syntax =, e.g. # syntax = docker/dockerfile:1.0-experimental
新的Docker Build機密信息
--secret用于docker build的新標志允許用戶以安全的方式傳遞將在Dockerfile中使用的秘密信息,以構建docker映像,而最終不會存儲在最終映像中。
id是傳遞到中的標識符docker build --secret。該標識符與RUN --mount要在Dockerfile中使用的標識符相關聯(lián)。
Docker不使用將秘密保存在Dockerfile外部的文件名,因為這可能是敏感信息。
dst將秘密文件重命名為DockerfileRUN命令中要使用的特定文件。
例如,將秘密信息存儲在文本文件中:
$ echo \'WARMACHINEROX\' > mysecret.txt
使用指定使用BuildKit前端的Dockerfile docker/dockerfile:1.0-experimental,可以訪問秘密。
例如:
# syntax = docker/dockerfile:1.0-experimental
FROM alpine
# shows secret from default secret location:
RUN --mount=type=secret,id=mysecret cat /run/secrets/mysecret
# shows secret from custom secret location:
RUN --mount=type=secret,id=mysecret,dst=/foobar cat /foobar
該Dockerfile只是為了證明可以訪問該機密。如您所見,機密信息顯示在構建輸出中。構建的最終映像將沒有秘密文件:
本文題目:云計算核心技術Docker教程:使用BuildKit構建容器鏡像
分享路徑:http://fisionsoft.com.cn/article/cjdpoi.html