본문 바로가기
Infra/Docker_K8S

Dockerfile 작성법4 - ONBUILD 개념잡기

by 골든크랩 2022. 7. 31.
728x90
반응형

 


root@template:~/Lab# cat Dockerfile.4
FROM ubuntu
RUN apt-get -y update && apt-get -y upgrade  && apt-get install -y nginx
EXPOSE 80                                                                    <--------------------------------------------- 컨테이너가 사용할 포트
ONBUILD ADD webdata.tar  /var/www/html/
CMD ["nginx", "-g", "daemon off; " ]
root@template:~/Lab#

 

 

ONBUILD : 

 

자신의 Dockerfile로부터 생성한 이미지를 베이스 이미지로다른 Dockerfile을 빌드할 때 실행하고 싶은 명령을 기술합니다.

 

역할을 분담하기 위해서 사용한다.

즉, 인프라 담당자가 환경을 만들고(BASE IMAGE), 개발자가 추가로 응용단을 구축한다.

개발자가 아직 개발을 완료안했다고, 기다릴 필요는 없으니.....

 

실습: docker   build   -t   webbase:1.0   -f   Dockerfile.4    .  

---------------------------------------------------------------------------------------
Step 3/5 : EXPOSE 80
 ---> Running in 956724f8a19d
Removing intermediate container 956724f8a19d
 ---> 1789f2c72a81
Step 4/5 : ONBUILD ADD webdata.tar  /var/www/html/    <---------------------------- 에러 안남
 ---> Running in 64efcd562b2c
Removing intermediate container 64efcd562b2c
 ---> f857252009f4
Step 5/5 : CMD ["nginx", "-g", "daemon off; " ]
 ---> Running in 54e3f3c80c6a
Removing intermediate container 54e3f3c80c6a
 ---> a4e89053ccda
Successfully built a4e89053ccda
Successfully tagged webbase:1.0

---------------------------------------------------------------------------------------

실습: docker   image   inspect   webbase:1.0

 

"Entrypoint": null,
            "OnBuild": [
                "ADD webdata.tar  /var/www/html/"
            ],

 

 

inspect   사용해, onbild 가 있는지 조사

 

 

실습

root@template:~/Lab# docker   build   -t   finalweb    -f  Dockerfile.5    .
Sending build context to Docker daemon  198.7kB
Step 1/1 : FROM webbase:1.0
# Executing 1 build trigger
ADD failed: file not found in build context or excluded by .dockerignore: stat webdata.tar: file does not exist

 

base 이미지를 근거로 build  하려고 하는데, webdata.tar 가 없어 에러남

 

 

 

 

 

 

 

 

 

아래 링크를 일어보라.

https://kimjingo.tistory.com/68

728x90
반응형

댓글