기본 디렉토리 및 파일 생성
mkdir -p ~/testDockerProjects/exam/source
cd ~/testDockerProjects/exam
mkdir -p source/web/site1
echo "<h1>Site 1</h1>" > source/web/site1/index.html
Dockerfile 생성
echo -e '
# 기본 이미지 설정
FROM nginx:latest
# index.html 파일 복사
COPY source/web /web
' > Dockerfile
echo -e '
# 기본 이미지 설정
FROM nginx:latest
RUN echo "<h1>Site 1</h1>" > /web/site1/index.html
도커 파일에 RUN을 이용해서 만든 후에 뭔가 변경 사항이 생겨서 index.html에 아래와 같이 변경해야 된다고 생각해보자.
<h1>Site 1, Hello</h1>
그럼 Dockerfile 자체를 다시 수정을 해야되는데 지금이야 파일이 1개지만 만약 여러가지라면 오히려 복잡해질 가능성이 크다.
처음과 같은 방식으로 사용했다면 로컬에 있는 source/web/site1/index.html를 수정해주고 다시 이미지 빌드만 시켜주면 수정 사항이 반영이 된다.
Dockerfile에 RUN으로 파일을 만들어 줄 수는 있지만 꼭 필요한 경우가 아닌 이상은
로컬의 디렉토리에서 생성 후 COPY로 파일을 만들어 주는게 이후에 수정 사항이 생겨도 반영하기가 편하다.
작성자가 복습 차원에서 간단한 개념 정리 용도로 작성하는 글 입니다.
혹시나 틀린 부분이 있다면 댓글 부탁드리겠습니다!**