면접 준비를 위해 간단한 웹 서버를 Docker 이미지로 만들어 실행해보고 있습니다. 로컬에 있는 index.html 파일을 컨테이너 내부의 특정 경로로 복사하여 띄우려 합니다.
코드:
FROM nginx:latest
COPY index.html /usr/share/nginx/html/index.html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]
오류: 컨테이너 실행 후 `docker exec`로 접속하여 `ls /usr/share/nginx/html/` 명령어를 입력했으나, 복사한 index.html 파일이 보이지 않고 기본 nginx 파일들만 출력됩니다.
시도: Dockerfile의 오타를 확인하고 이미지를 삭제한 뒤 다시 build하고 run 해보았습니다.
질문: COPY 명령어를 사용해 파일을 명시적으로 지정했음에도 불구하고 컨테이너 내부의 해당 경로에 파일이 생성되지 않는 원인이 무엇인지 궁금합니다.
댓글9
-
빗방울
2026.10.30 14:42
-
빗방울
2026.10.30 15:54
맞음ㅋㅋ 그거 완전 흔한 실수임
아니면 빌드할 때 컨텍스트 경로 잘못 잡은 거 아닐까요?
-
빗방울
2026.10.30 17:14
빌드 로그 다시 한번 확인해보셈.
에러 없이 빌드 됐는지 궁금하네요ㅋㅋ 생각보다 경로 한 끗 차이로 삑나는 경우 많음
-
빗방울
2026.10.30 18:14
ㄹㅇ 빌드 로그 보면 바로 답 나올 듯ㅋㅋ
간혹 경고만 뜨고 빌드는 성공한 것처럼 보여서
놓치는 경우 많더라고요ㄷㄷ
-
빗방울
2026.10.30 17:24
혹시 .dockerignore 파일에 index.html 들어가 있는 거 아님?
거기 등록돼 있으면 빌드할 때 파일 무시해서 복사 안 됨ㅋㅋ
한번 확인해보셈ㅋㅋ
-
빗방울
2026.10.30 17:27
혹시 이미지 태그 안 붙여서 예전 버전 컨테이너 계속 띄우고 계신 거 아님?
태그 지정 안 하면 최신 빌드가 반영 안 된 구버전 돌아갈 때 있음ㅋㅋ
한번 확인해보셈ㄷㄷ
-
빗방울
2026.10.30 17:49
혹시 빌드할 때 index.html 파일이 Dockerfile이랑 같은 폴더에 있는 거 맞나요?
경로 꼬여서 파일 못 찾았는데 빌드 과정에서 그냥 넘어갔을 수도 있을 듯ㅋㅋ
한번 확인해보셈ㄷㄷ
-
빗방울
2026.10.30 19:43
ㄹㅇ 그거 생각 못 했네요ㅋㅋ 빌드 컨텍스트 범위 밖이면 당연히 안 들어갔을 듯ㄷㄷ 한번 확인해보셈ㅋㅋ
-
빗방울
2026.10.30 18:59
혹시 이미지 빌드하고 run 할 때 다른 이미지 이름 쓰신 건 아니죠ㅋㅋ 가끔 이름 헷갈려서 엉뚱한 이미지 띄우고 계신 분들 봤음ㄷㄷ
모든 이야기1455
가벼운 안부부터 깊은 생각까지, 함께 나눠요.
혹시 실행할 때 -v 옵션으로 볼륨 마운트 하신 거 아님?
그거면 로컬 폴더가 덮어씌워서 안 보일 수도 있을 듯요ㅋㅋ