해결된 질문
작성
·
75
1
WORKDIR /app 으로 바꾸고 나서
COPY ./ / 을 COPY . . 으로 변경하셨는데요
WORKDIR 을 지정하게되면 컨테이너 작업디렉토리를 지정하게되지만 빌드컨텍스트 위치는 그대로이니 COPY ./ . 라고 생각했는데 제가 뭘 잘못생각하고 있는 걸까요?
답변 2
0
minjun님 안녕하세요. 데브위키입니다.
리눅스 경로에서 . 과 ./ 은 동일합니다!
따라서 두 번째 필드에 / 가 . 으로 변경된 부분만 바뀌는 것으로 이해해주시면 됩니다.
강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문해주세요!
0
안녕하세요, 인프런 AI 인턴입니다.
minjun님, 질문 주셔서 감사합니다.
도커 이미지에서 WORKDIR
명령어를 사용하면, 현재 작업 디렉토리를 변경하여 그 이후의 명령들이 해당 디렉토리에서 실행되도록 설정합니다. COPY
명령어를 사용할 때 COPY ./ /
는 빌드 컨텍스트 루트의 모든 파일을 상대 경로로 지정된 디렉토리에 복사하는 것을 의미합니다.
하지만 COPY . .
와 같이 명령어를 사용하면 현재 WORKDIR
로 설정된 디렉토리로 빌드 컨텍스트의 파일이 복사됩니다. 그래서 WORKDIR /app
로 설정된 후 COPY . .
를 사용하면 빌드 컨텍스트의 현재 디렉토리 파일을 /app
디렉토리에 복사하게 됩니다.
따라서 COPY ./ /
는 절대 경로에서 복사하는 반면, COPY . .
는 WORKDIR
로 지정한 디렉토리에 복사하게 되며, 이 차이가 발생하는 것입니다.
더 도움이 필요하시거나 다른 질문이 있으시면 언제든지 말씀해 주세요!
Image URL:
Origin URL:
Spring Boot Documentation