.dockerignore 파일
Dockerfile과 같은 디렉터리에 들어있는 모든 파일을 컨텍스트(context)라고 한다
특히 이미지를 생성할 때 컨텍스트를 모두 Docker 데몬에 전송
필요 없는 파일이 포함되지 않도록 컨텍스트에서 파일이나 디렉터리를 제외하고 싶을 때 .dockerignore 파일을 사용한다
vagrant@docker:~/build/web$ tree
.
├── Dockerfile
├── conf
│ └── ports.conf
└── html
├── dev.html
└── index.html
2 directories, 4 files
# Dockerfile
vagrant@docker:~/build/web$ cat Dockerfile
FROM ubuntu:20.04
ENV DEBIAN_FRONTEND noninteractive
RUN apt update && apt install -y apache2
ENTRYPOINT ["apachectl"]
CMD ["-D", "FOREGROUND"]
EXPOSE 8080/tcp
ADD conf/ /etc/apache2
COPY html/ /var/www/html
# ports.conf
vagrant@docker:~/build/web/conf$ cat ports.conf
Listen 8080
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
# dev.html
vagrant@docker:~/build/web/html$ cat dev.html
hello ldh
# index.html
vagrant@docker:~/build/web/html$ cat index.html
ldh
# 이미지1 생성
vagrant@docker:~/build/web$ docker build -t ldhweb:v1 .
# 컨테이너1 생성
vagrant@docker:~/build/web$ docker run -d ldhweb:v1
# 확인
vagrant@docker:~/build/web$ docker exec -it 4d bash
root@4d86e41c6743:/# cd /var/www/html/
root@4d86e41c6743:/var/www/html# ls
dev.html index.html
# .dockerignore 파일 생성
vagrant@docker:~/build/web$ cat .dockerignore
html/dev.html
# 이미지2 생성
vagrant@docker:~/build/web$ docker build -t ldhweb:v2 .
# 컨테이너2 생성
vagrant@docker:~/build/web$ docker run -d ldhweb:v2
# 확인
vagrant@docker:~/build/web$ docker exec -it dc bash
root@dc04af14c705:/# cd /var/www/html/
root@dc04af14c705:/var/www/html# ls
index.html
-> .dockerignore 파일로 인해 dev.html 파일은 copy 되지 않음
'클라우드 > 도커(Docker)' 카테고리의 다른 글
도커 Docker Flask를 이용한 간단한 앱 실행 (0) | 2021.07.05 |
---|---|
도커 Docker 레이어 (Layer) , Port (포트) (0) | 2021.07.05 |
도커 Docker Dockerfile 지시어 (0) | 2021.07.02 |
도커 Docker 이미지 제작 2 (0) | 2021.07.02 |
도커 Docker 이미지 제작 1 (0) | 2021.07.02 |