docker
[docker] echo를 사용해 여러 라인을 파일로 저장하기
'김용환'
2019. 9. 4. 19:34
여러 라인으로 구성된 내용을 특정 파일로 저장할 때 cat << 커맨드를 자주 사용한다.
cat > /etc/yum.repos.d/nginx.repo << EOL
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOL
도커 파일에서 아래와 같이 bash에서 사용하듯 여러 라인을 하나의 파일로 저장하려면 에러가 발생한다.
RUN cat > /etc/yum.repos.d/nginx.repo << EOL
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
EOL
도커 파일에서는 다음과 같이 echo와 $를 잘 사용해야 비슷한 효과를 얻을 수 있다.
RUN echo $'[nginx] \n\
name=nginx repo \n\
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ \n\
gpgcheck=0 \n\
enabled=1' >> /etc/yum.repos.d/nginx.repo