自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Dockerfile : 實(shí)現(xiàn)多行Shell的語(yǔ)法, 告別 && 鏈接符

開發(fā) 前端
今天在看 docker 文檔的時(shí)候, 發(fā)現(xiàn)了一個(gè)新語(yǔ)法 Dockerfile - here documents 語(yǔ)法[1], 即 多行語(yǔ)法。在 Dockerfile 1.4 中添加。

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

Dockerfile : 實(shí)現(xiàn)多行Shell語(yǔ)法, 告別 && 鏈接符

圖片圖片

建議點(diǎn)擊 查看原文 查看最新內(nèi)容。

原文鏈接: https://typonotes.com/posts/2023/09/01/dockerfile-buildkit-here-syntax/

今天在看 docker 文檔的時(shí)候, 發(fā)現(xiàn)了一個(gè)新語(yǔ)法 Dockerfile - here documents 語(yǔ)法[1], 即 多行語(yǔ)法。在 Dockerfile 1.4 中添加。

如果你知道 cat 的 here document 語(yǔ)法, 就會(huì)很好理解。

cat > demo.txt <<EOF
> 123
> asdb
> EOF

該語(yǔ)法在使用時(shí)有一些限制條件

  1. 該語(yǔ)法只支持在 RUN 和 COPY 下使用。
  2. 需要通過(guò) buildkit 解析語(yǔ)法。簡(jiǎn)單的說(shuō), 就是 docker buildx build 構(gòu)建鏡像

Here-Doc 語(yǔ)法介紹

這是一個(gè)特性語(yǔ)法, 必須在 Dockerfile 申明 # syntax=docker/dockerfile:1 , 否則即使使用 buildkit 也無(wú)法解析。

# syntax=docker/dockerfile:1

其他

1. RUN

# syntax=docker/dockerfile:1
FROM debian
RUN <<EOT bash
  set -ex
  apt-get update
  apt-get install -y vim
EOT

注意: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í)行

還是很簡(jiǎn)單的, 直接使用 docker buildx build 就行了

例如:

docker buildx build \
    -t example.com/debian:here \
    -f here.Dockerfile \
    .

圖片 圖片

責(zé)任編輯:武曉燕 來(lái)源: 熊貓?jiān)圃鶪o
相關(guān)推薦

2023-09-12 09:13:24

Shell腳本Dockerfil

2009-12-25 09:55:18

LinuxShell編程Shell基本語(yǔ)法

2025-03-10 08:10:00

安全賦值運(yùn)算符ECMAScript編碼

2016-10-14 14:04:34

JAVA語(yǔ)法main

2009-06-21 13:48:05

ShellLinux運(yùn)算符

2021-02-25 17:54:43

StarshipshellLinux

2022-02-15 09:40:45

提示符Starship

2009-07-22 07:41:00

Scala函數(shù)文本占位符語(yǔ)法

2024-10-16 16:30:14

ShellShell腳本

2013-11-14 11:38:20

Linux Kerne編譯

2021-07-06 06:12:43

Shell語(yǔ)法變量

2010-03-23 15:52:41

Linux shell

2024-10-25 11:56:33

OCRVisRAGRAG

2021-05-14 11:02:33

PythonShell命令

2009-06-09 21:59:13

語(yǔ)法高亮Javascript

2010-07-20 14:52:51

Perl語(yǔ)法

2009-09-08 15:12:07

C# ListBox

2021-06-02 10:21:45

深度學(xué)習(xí)編程人工智能

2014-01-14 10:22:21

LinuxLinux命令

2021-10-14 09:52:53

Dockerfile鏡像容器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)