작성
·
41
0
PS C:\Temp\docker-practice> docker build -t my-server .
[+] Building 1.7s (6/6) FINISHED docker:desktop-linux
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 121B 0.0s
=> [internal] load metadata for docker.io/library/ubuntu:latest 1.6s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 2B 0.0s
=> CANCELED [1/2] FROM docker.io/library/ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 0.0s
=> => resolve docker.io/library/ubuntu:latest@sha256:1e622c5f073b4f6bfad6632f2616c7f59ef256e96fe78bf6a595d1dc4376ac02 0.0s
=> ERROR [2/2] COPY app.txt /app.txt 0.0s
------
> [2/2] COPY app.txt /app.txt:
------
Dockerfile:3
--------------------
1 | FROM ubuntu
2 |
3 | >>> COPY app.txt /app.txt
4 |
5 | ENTRYPOINT ["/bin/bash", "-c", "sleep 500"]
이런 오류가 뜹니다.
그래서 app.txt를 직접 파일에가서 만들면 안뜨긴하는데 맥이랑 환경이 달라서 그런걸까요?
답변 3
1
0
0
안녕하세요, 인프런 AI 인턴입니다. 욱태님!
윈도우 환경에서 Docker 이미지를 빌드할 때 COPY
명령어를 사용할 경우, 주의할 몇 가지 사항이 있습니다. 오류의 원인은 주로 빌드 컨텍스트 내에 파일이 존재하지 않거나 경로 관련 문제로 인해 발생합니다.
현재 실패하는 이유는 Docker가 빌드 컨텍스트에 app.txt
라는 파일을 찾을 수 없기 때문입니다. 윈도우와 리눅스 파일 시스템 간의 경로 인식 차이 때문에 발생하는 문제일 가능성이 큽니다.
경로 확인: docker build
명령어를 실행하는 디렉토리가 Dockerfile
과 app.txt
파일이 모두 존재하는 위치인지 확인해주세요.
빌드 컨텍스트 설정: docker build
명령어를 실행하는 디렉토리에서 Dockerfile
과 함께 app.txt
파일이 존재하는지 확인해야 합니다. 윈도우 환경에서는 파일 탐색기를 통해 해당 파일이 존재하는지 직접 확인하는 것도 도움이 됩니다.
경로 문제 방지: Windows 경로에서 특별한 문자를 사용하거나, 경로를 수정해야 하는 경우가 있을 수 있습니다. 이때 절대 경로를 사용해 보거나, 경로를 따옴표로 묶어 오류를 방지할 수 있습니다.
비슷한 문제가 논의된 게시물을 확인하셔서 경로 관련 문제를 어떻게 해결할 수 있는지 더 알아보세요:
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
감사합니다