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

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


咨詢
建站咨詢
