新聞中心
大家好, 我是 老麥, 一個運維老兵, 現(xiàn)在專注于 Golang,DevOps,云原生基礎(chǔ)設(shè)施建設(shè)。

酒泉網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)公司2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
Dockerfile : 實現(xiàn)多行Shell語法, 告別 && 鏈接符
圖片
建議點擊 查看原文 查看最新內(nèi)容。
原文鏈接: https://typonotes.com/posts/2023/09/01/dockerfile-buildkit-here-syntax/
今天在看 docker 文檔的時候, 發(fā)現(xiàn)了一個新語法 Dockerfile - here documents 語法[1], 即 多行語法。在 Dockerfile 1.4 中添加。
如果你知道 cat 的 here document 語法, 就會很好理解。
cat > demo.txt < 123
> asdb
> EOF 該語法在使用時有一些限制條件
- 該語法只支持在 RUN 和 COPY 下使用。
- 需要通過 buildkit 解析語法。簡單的說, 就是 docker buildx build 構(gòu)建鏡像
Here-Doc 語法介紹
這是一個特性語法, 必須在 Dockerfile 申明 # syntax=docker/dockerfile:1 , 否則即使使用 buildkit 也無法解析。
# syntax=docker/dockerfile:1
其他1. RUN
# syntax=docker/dockerfile:1
FROM debian
RUN <注意:EOT 只是一個標識符, 可以換成其他任意的符號, 只要 成對 即可。例如 PANDA
2. COPY
# syntax=docker/dockerfile:1
FROM alpine
COPY <<-"EOT" /app/script.sh
echo hello ${FOO}
EOT
RUN FOO=abc ash /app/script.sh注意:這里使用的是符號 <<-
使用 buildx 執(zhí)行
還是很簡單的, 直接使用 docker buildx build 就行了
例如:
docker buildx build \
-t example.com/debian:here \
-f here.Dockerfile \
.圖片
分享文章:Dockerfile:實現(xiàn)多行Shell的語法,告別&&鏈接符
文章路徑:http://m.fisionsoft.com.cn/article/dhdjsjj.html


咨詢
建站咨詢
