티스토리 뷰
Kebernetes - Error Case 2. COPY failed: stat /var/lib/docker/tmp/docker/bin/kuard: no such file or directory
GodNR 2018. 9. 10. 14:39발생 시점 : Dockerfile을 작성한 이후 docker build -t kuard-adm64:1 . 수행 후 아래와 같은 Error 발생
Error Case : COPY failed: stat /var/lib/docker/tmp/docker-builder818542770/bin/kuard: no such file or directory
[root@kmkang kuber]# docker build -t kuard-adm64:1 .
Sending build context to Docker daemon 16.9kB
Step 1/4 : FROM alpine
---> 11cd0b38bc3c
Step 2/4 : MAINTAINER Kelsey Higntower <kelsey.hightower@kuar.io>
---> Using cache
---> 19c080537c22
Step 3/4 : COPY bin/kuard /kuard
COPY failed: stat /var/lib/docker/tmp/docker-builder818542770/bin/kuard: no such file or directory
[root@kmkang kuber]
문제 원인 : Dockerfile의 COPY 부분에 없는 파일을 복사하고자 할때 발생
Dockerfile COPY 구문 확인
COPY는 파일을 이미지에 추가합니다. ADD와는 달리 COPY는 압축 파일을 추가할 때 압축을 해제하지 않고, 파일 URL도 사용할 수 없습니다.
COPY <복사할 파일 경로> <이미지에서 파일이 위치할 경로>
<복사할 파일 경로>는 컨텍스트 아래를 기준으로 하며 컨텍스트 바깥의 파일, 디렉터리나, 절대 경로는 사용할 수 없습니다.
예) COPY ../hello.txt /home/hello (X)
예) COPY /home/hello/hello.txt /home/hello (X)
<복사할 파일 경로>는 파일뿐만 아니라 디렉터리도 설정할 수 있으며, 디렉터리를 지정하면 디렉터리의 모든 파일을 복사합니다. 또한, 와일드카드를 사용하여 특정 파일만 복사할 수 있습니다.
예) COPY *.txt /root/
<복사할 파일 경로>에 인터넷에 있는 파일의 URL은 사용할 수 없습니다.
압축 파일은 압축을 해제하지 않고 그대로 복사됩니다.
<이미지에서 파일이 위치할 경로>는 항상 절대 경로로 설정해야 합니다. 그리고 마지막이 /로 끝나면 디렉터리가 생성되고 파일은 그 아래에 복사됩니다.
COPY ./ /hello와 같이 현재 디렉터리를 추가할 때 .dockerignore 파일에 설정한 파일과 디렉터리는 제외됩니다.
COPY로 추가되는 파일은 소유자(UID) 0, 그룹(GID) 0으로 설정되고 권한은 기존 파일의 권한을 따릅니다.
현재 디렉토리의 파일 현황
[root@kmkang kuber]# ls
Dockerfile perl5 test.txt
[root@kmkang kuber]#
해결 방안 : Dockerfile 수정
==> 기존
[root@kmkang kuber]# cat Dockerfile
FROM alpine
MAINTAINER Kelsey Higntower <kelsey.hightower@kuar.io>
COPY tt.txt /kuard
ENTRYPOINT ["/kuard"]
[root@kmkang kuber]#
==> 변경
[root@kmkang kuber]# cat Dockerfile
FROM alpine
MAINTAINER Kelsey Higntower <kelsey.hightower@kuar.io>
COPY test.txt /kuard
ENTRYPOINT ["/kuard"]
[root@kmkang kuber]#
'③ 클라우드 > ⓚ Kubernetes' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 쿠버네티스
- JEUS7
- apache
- openstack tenant
- nodejs
- API Gateway
- MSA
- kubernetes
- SWA
- OpenStack
- 마이크로서비스
- jeus
- 오픈스택
- aa
- Da
- webtob
- wildfly
- JEUS6
- node.js
- JBoss
- 아키텍처
- SA
- openstack token issue
- TA
- Architecture
- k8s
- aws
- Docker
- 마이크로서비스 아키텍처
- git
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |