✅ 도커 이미지 생성 과정
✅ Docker file 생성
Dockerfile: 도커 이미지를 만들기 위한 설정 파일이며, 컨테이너가 어떻게 행동해야 하는지 정의
🔗 docker file 만드는 순서
- 베이스 이미지 명시 (파일 스냅샷)
베이스 이미지: 도커 이미지는 여러 개의 레이어로 되어 있으며 그 중 기반이 되는 부분, OS라고 생각하면 된다.
- 추가적으로 필요한 파일을 다운 받기 위한 몇가지 명령어 명시
- 컨테이너 시작시 실행될 명령어 명시
✅ Docker file 생성 실습
🔗 기본 틀
#베이스 이미지 명시
FROM baseImage
#추가적으로 필요한 파일 다운로드
RUN command
#컨테이서 시작시 실행될 명령어 명시
CMD ["executable"]
- FROM
이미지 생성 시 기반이 되는 이미지 레이어
<이미지 이름>:<태그> 형식으로 작성, 태그를 안 붙이면 자동적으로 가장 최신 것으로 다운 받음
ex) ubuntu:14.04
- RUN
도커 이미지가 생성되기 전에 수행할 쉘 명령어
- CMD
컨테이너가 시작되었을 때 실행할 실행 파일 또는 셸 스크립트
해당 명령어는 DockerFile 내 1회만 쓸 수 있다.
🔗 실습
실습 내용: hello 문구를 출력하도록 하는 이미지를 생성한다.
hello 문구를 출력하도록 하기 위해 dockerfile을 아래와 같이 작성하면 된다.
#베이스 이미지 명시
FROM alpine
#컨테이서 시작시 실행될 명령어 명시
CMD ["echo", "hello"]
✅ 도커 파일로 도커 이미지 만들기
도커 파일에 입력된 것들이 도커 클라이언트에 전달된 후, 도커 서버가 인식하게 해야 한다.
docker build ./
또는 docker build
해당 디렉토리 내에서 dockerfile이라는 파일을 찾아서 도커 클라이언트에 전달
🔗 build
- 베이스 이미지 가져온다.
- 임시 컨테이너 생성, 임시 컨테이너에 base이미지의 스냅샷을 하드디스크에 넣는다.
- 임시 컨테이너에 실행될 명령어 추가
- 임시 컨테이너로 이미지를 만들어주고 임시 컨테이너는 지워진다.
도커 이미지에 이름 설정
-t(tag) 옵션을 이용해 사용할 수 있다.
- docker build -t <도커아이디>/<저장소or프로젝트 이름>:버전 ./
docker build -t jym3263/hello:latest ./
🔗 run
위 과정 후,
docker run -it jym3263/hello
명령을 하면 hello가 출력되는 것을 확인할 수 있다.