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 가 없어 에러남
아래 링크를 일어보라.
'Infra > Docker_K8S' 카테고리의 다른 글
Dockerfile 작성법7 - WORKDIR (0) | 2022.07.31 |
---|---|
Dockerfile 작성법6 - HEALTHCHECK (0) | 2022.07.31 |
Dockerfile작성법3 - EXCUTE 방식에서 쉘변수 인식 (0) | 2022.07.31 |
Dockerfile 작성법2 - CMD, ENTRYPOINT (0) | 2022.07.31 |
DockerFile 작성법1 (0) | 2022.07.30 |
댓글