Skip to content

[BUG] Unnecessary escaping in RUN <<'EOF' breaks execution #13267

@luciangabor

Description

@luciangabor

Description

Please see the steps to reproduce

Steps To Reproduce

With this compose.yaml

services:
  service:
    build:
      dockerfile_inline: |
        FROM bash
        RUN <<'EOF'
        echo $(seq 10)
        EOF

Running docker compose build fails with the following output:

#6 [2/2] RUN <<'EOF' (echo $$(seq 10))
#6 0.119 /bin/sh: syntax error: unexpected "("
#6 ERROR: process "/bin/sh -c echo $$(seq 10)\n" did not complete successfully: exit code: 2
------
 > [2/2] RUN <<'EOF' (echo $$(seq 10)):
0.119 /bin/sh: syntax error: unexpected "("
------
Dockerfile:2

--------------------
   1 |     FROM bash
   2 | >>> RUN <<'EOF'
   3 | >>> echo $$(seq 10)
   4 | >>> EOF
   5 |     
--------------------

failed to solve: process "/bin/sh -c echo $$(seq 10)\n" did not complete successfully: exit code: 2

Compose Version

Docker Compose version v2.40.0

Docker Environment


Anything else?

worked with the previous release (v2.39.4) with this output:

#6 [2/2] RUN <<'EOF' (echo $(seq 10))
#6 0.116 1 2 3 4 5 6 7 8 9 10
#6 DONE 0.2s

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions