新聞中心
大家好, 我是 老麥, 一個運維老兵, 現在專注于 Golang,DevOps,云原生基礎設施建設。

酒泉網站制作公司哪家好,找創(chuàng)新互聯!從網頁設計、網站建設、微信開發(fā)、APP開發(fā)、成都響應式網站建設公司等網站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯公司2013年成立到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選創(chuàng)新互聯。
Dockerfile : 實現多行Shell語法, 告別 && 鏈接符
圖片
建議點擊 查看原文 查看最新內容。
原文鏈接: https://typonotes.com/posts/2023/09/01/dockerfile-buildkit-here-syntax/
今天在看 docker 文檔的時候, 發(fā)現了一個新語法 Dockerfile - here documents 語法[1], 即 多行語法。在 Dockerfile 1.4 中添加。
如果你知道 cat 的 here document 語法, 就會很好理解。
cat > demo.txt < 123
> asdb
> EOF 該語法在使用時有一些限制條件
- 該語法只支持在 RUN 和 COPY 下使用。
- 需要通過 buildkit 解析語法。簡單的說, 就是 docker buildx build 構建鏡像
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:實現多行Shell的語法,告別&&鏈接符
網頁網址:http://m.5511xx.com/article/dhdjsjj.html


咨詢
建站咨詢
