Я хочу вывести следующий текст в Dockerfile:
*****first row *****
*****second row *****
Один из способов сделать это так:
cat > Dockerfile <<EOF
FROM alpine:latest
RUN echo ' *****first row ***** ' >> /home/myfile
RUN echo ' *****second row ***** ' >> /home/myfile
ENTRYPOINT cat /home/myfile; sh;
WORKDIR /home
EOF
Но если у меня 100 строк, это займет времяпотому что он запускает каждую команду отдельно и делает ее как слой.
Другой способ такой:
FROM alpine:latest
RUN printf ' *****first row ***** \n *****second row ***** \n' >> /home/myfile
ENTRYPOINT cat /home/myfile; sh;
WORKDIR /home
, но он мне не нравится, потому что он делает его менее читаемым, особенно если у вас 100 строк.
Интересно, есть ли способ сделать что-то подобное:
FROM alpine:latest
RUN echo ' *****first row *****
*****second row ***** ' >> /home/myfile
ENTRYPOINT cat /home/myfile; sh;
WORKDIR /home
Или есть способ использовать команду ARG
для этого?