참고 URL : https://ttl-blog.tistory.com/751?category=947731
컨테이너를 만들기 위해 필요한 설정이나 종속성들을 가지고 있는 소프트웨어 패키지
DockerHub에 다른 사람들이 만들어 놓은 것을 사용할 수도 있고 직접 도커 이미지를 만들어서 사용도 가능하다.
Docker Image 생성 흐름
Dockerfile 작성 → Docker 클라이언트 → Docker 서버 → Docker Image 생성
도커 이미지는 여러개의 레이어로 구성되어 있다.
OS와 실행할 애플리케이션을 위한 기본 환경
예
amd64/openjdk:17-jdk
→ 베이스 이미지는 amd64를 사용하며 openjdk 17버전이 설치된 이미지이다.
Docker는 리눅스 기반 컨테이너이기 때문에 윈도우에서 실행하기 위해서는 WSL를 설치한 후 Docker Desktop을 설치해준다.
1-1) WSL 아키텍처
참고 URL : https://www.lainyzine.com/ko/article/a-complete-guide-to-how-to-install-docker-desktop-on-windows-10/ https://www.lainyzine.com/ko/article/how-to-install-wsl2-and-use-linux-on-windows-10/
1-2 ) WSL 설치
wsl --install
1-3) Microsoft Store에서 Ubuntu 설치
1-4) Docker Desktop
설치 URL : https://www.docker.com/products/docker-desktop/
시스템에 WSL2가 활성화되어있다면 Docker는 기본적으로 WSL2를 백엔드로 Docker Engine을 실행합니다.
VSCode를 이용해서 Dockerfile 생성
참고 URL : https://ttl-blog.tistory.com/751
Dockerfile의 이름을 가진 폴더를 생성 한다.
Dockerfile의 기본 형식은 다음과 같다.
# 베이스 이미지 명시
FROM 베이스이미지
# 추가적으로 필요한 파일들을 다운로드 받는 명령어 명시
RUN command
# 컨테이너 시작 시 실행 될 명령어 명시
CMD [ "명령어" ]
# 베이스 이미지 명시
FROM alpine
# 추가적으로 필요한 파일들을 다운로드 받는다
#RUN 필요없음
# 컨테이너 시작 시 실행 될 명령어를 명시해준다.
CMD ["echo", "hello"]
도커파일로 도커 이미지 만들기
docker build ./ 또는 docker build.
해당디렉토리 내에서 Dockerfile이라는 파일을 찾아서 도커 클라이언트에게 전달해준다.
docker build 뒤에 ./ 와 . 은 모두 현재 디렉토리를 가리킨다.
Dockerfile 파일이 위치한 곳으로 위치 이동 후 Image build
VSCode에서 WSL이 설치되어 있으니 Terminal 창을 변경시켜준다.
생성한 Custom docker image 간단히 실행
docker run 이미지ID
docker image에 태그 달기
docker build -t도커아이디/저장소(혹은 프로젝트 이름):버전 ./
docker build -t qpsaone2/hello:latest ./