도커 이미지 구조는 아래와 같다.
이제 도커 이미지 구조를 실습환경에서 확인하자
docker images 명령어는 도커에 보관 중인 이미지 목록을 보여준다.
도커 이미지를 build 하는 방법으로는 dockerfile없이 이미지 생성하는 방법과 dockerfile을 이용하여 이미지 생성하는 방법이 있다.
먼저 dockerfile없이 이미지 생성하는 방법을 알아보자
우분투 컨테이너를 하나 실행하고 my_file에 "Hello Fastcampus!"라는 텍스트가 담긴 파일을 생성하자
이제 docker commit 명령어로 해당 컨테이너를 이미지로 저장하자
-a 옵션은 누가 변경점을 만드는지 기록을 남길 수 있고 -m은 커밋메시지이다.
docker image inspect my-ubuntu 명령어로 이미지의 세부사항을 보면 레이어가 총 2개인걸 볼 수 있다.
이건 기존 우분투 이미지의 레이어를 그대로 가져와서 새로운 레이어가 쌓인 것이다.
이번에는 dockerfile을 이용하여 이미지 생성을 해보자
https://github.com/tedilabs/fastcampus-devops/tree/main/3-docker-kubernetes/3-dockerfile
GitHub - tedilabs/fastcampus-devops: 🚀 패스트캠퍼스 데브옵스 초격차 코스 자료
🚀 패스트캠퍼스 데브옵스 초격차 코스 자료. Contribute to tedilabs/fastcampus-devops development by creating an account on GitHub.
github.com
app 디렉토리 안에는 도커 파일이 위치한다.
이 디렉토리에서 docker build 명령어를 사용한다.
빌드 컨텍스트는 도커 빌드 명령 수행 시 현재 디렉토리를 빌드 컨텍스트라고 한다.
dockerfile로부터 이미지 빌드에 필요한 정보를 도커 데몬에게 전달하기 위한 목적이다.
.dockerignore란 .gitignore와 동일한 문법을 가지고 있다.
특정 디렉토리 혹은 파일 목록을 빌드 컨텍스트에서 제외하기 위한 목적이다.
'AWS > Part 5. Ch02 도커를 이용한 컨테이너 관리' 카테고리의 다른 글
CH02_10. 도커 이미지 다루기- Dockerfile(수정필요) (0) | 2022.06.21 |
---|---|
CH02_08. 도커 컨테이너 다루기 로그 (0) | 2022.06.21 |
CH02_07. 도커 컨테이너 다루기- 볼륨 (0) | 2022.06.21 |
CH02_06. 도커 컨테이너 다루기 네트워크 (0) | 2022.06.20 |
CH02_05. 도커 컨테이너 다루기 명령어 실행 (0) | 2022.06.20 |