인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

minjun님의 프로필 이미지

작성한 질문수

개발자를 위한 쉬운 도커

도커파일(Dockerfile) 지시어

COPY 경로에 관한 질문드립니다.

해결된 질문

작성

·

75

1

WORKDIR /app 으로 바꾸고 나서
COPY ./ / 을 COPY . . 으로 변경하셨는데요
WORKDIR 을 지정하게되면 컨테이너 작업디렉토리를 지정하게되지만 빌드컨텍스트 위치는 그대로이니 COPY ./ . 라고 생각했는데 제가 뭘 잘못생각하고 있는 걸까요?

답변 2

0

데브위키님의 프로필 이미지
데브위키
지식공유자

minjun님 안녕하세요. 데브위키입니다.

리눅스 경로에서 . 과 ./ 은 동일합니다!

따라서 두 번째 필드에 / 가 . 으로 변경된 부분만 바뀌는 것으로 이해해주시면 됩니다.

 

강의 들으시면서 더 궁금하신 부분이 있으면 편하게 질문해주세요!

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다.
minjun님, 질문 주셔서 감사합니다.

도커 이미지에서 WORKDIR 명령어를 사용하면, 현재 작업 디렉토리를 변경하여 그 이후의 명령들이 해당 디렉토리에서 실행되도록 설정합니다. COPY 명령어를 사용할 때 COPY ./ /는 빌드 컨텍스트 루트의 모든 파일을 상대 경로로 지정된 디렉토리에 복사하는 것을 의미합니다.

하지만 COPY . .와 같이 명령어를 사용하면 현재 WORKDIR로 설정된 디렉토리로 빌드 컨텍스트의 파일이 복사됩니다. 그래서 WORKDIR /app로 설정된 후 COPY . .를 사용하면 빌드 컨텍스트의 현재 디렉토리 파일을 /app 디렉토리에 복사하게 됩니다.

따라서 COPY ./ /는 절대 경로에서 복사하는 반면, COPY . .WORKDIR로 지정한 디렉토리에 복사하게 되며, 이 차이가 발생하는 것입니다.

더 도움이 필요하시거나 다른 질문이 있으시면 언제든지 말씀해 주세요!

Image URL:
Docker COPY 명령어

Origin URL:
Spring Boot Documentation

minjun님의 프로필 이미지

작성한 질문수

질문하기