Docker 的 RUN 的heredoc示例不起作用

Eri*_* M. 4 heredoc docker dockerfile

我尝试实现Docker本身提供的示例(https://www.docker.com/blog/introduction-to-heredocs-in-dockerfiles/

# syntax=docker/dockerfile:1.3-labs

FROM ubuntu:20.04

RUN <<EOF
echo "Hello" >> /hello
echo "World!" >> /hello
EOF
Run Code Online (Sandbox Code Playgroud)

使用docker版本

~/test$ docker --version
Docker version 20.10.22, build 3a2c30b
Run Code Online (Sandbox Code Playgroud)

但它会抛出错误

~/test$ docker build .
Sending build context to Docker daemon  2.048kB
Error response from daemon: dockerfile parse error line 6: unknown instruction: ECHO
Run Code Online (Sandbox Code Playgroud)

我还尝试过 dockerfile 版本 1、1.3、1.4、2、2.0。什么都没起作用。我做错了什么或者它只是不起作用(还)?

Unb*_*ess 5

为此,您需要使用 buildkit 工具包:

$ DOCKER_BUILDKIT=1 docker build .
Run Code Online (Sandbox Code Playgroud)