커스텀 redis 이미지 만드는 방법
1. redis-image 라는 이름의 폴더 생성
2. intellij나 vscode로 폴더 열기
3. 'Dockerfile' 이름으로 파일 생성
4. 내용 작성
💡dockerfile의 3가지 구성 요소: 1) FROM 2) RUN 3) CMD
FROM alpine
RUN apk add --update redis
CMD ["redis-server"]
4. 도커 이미지 생성
터미널 열고 Dockerfile 경로에서 빌드 돌리기
docker build .
[캡처 설명]
도커 CLI가 dockerfile을 도커 서버에 넘기면 도커 서버는 alpine을 로컬에서 탐색해본다.
1-1. 없으면 도커 허브에서 alpine 이미지를 받아온다.
alpine 이미지의 파일 시스템 중 apk가 있고, 비어 있는 운영체제니까 run command는 아무것도 없다.
1-2. alpine 이미지로 베이스 컨테이너를 만들고 파일 시스템을 그대로 복사해서 넣어준다.
2-1. 그 컨테이너 안에서 RUN apk add --update redis 명령이 실행된다.
2-2. redis가 컨테이너 파일시스템에 추가된다.
2-3. 스냅샷을 생성하고 그 컨테이너는 날려버린다. = alpine 이미지에 redis가 추가된 임시 이미지 생성
3. 임시 이미지를 컨테이너화 한 다음, CMD ["redis-server"] 를 run command에 추가해준다. = 새 도커 이미지
캐싱이 되고 있으므로 다음 빌드 때는 중간 과정이 빨리 진행된다.
5. 도커 이미지 실행
빌드 돌려서 출력된 내용 중 하단에 writing image sha256: 다음 문자열이 도커 이미지 ID 이다.
예를 들어 아래와 같이 출력됐을 때,
=> => writing image sha256:73f1d9fc02c80def3130f29c9
docker run 73f 까지만 입력해도 실행이 된다.
docker run -it {이미지ID}
또는
docker run -it {태그}
6. 도커 이미지 목록 출력
docker images
💡도커 이미지 태깅 방법
이미지 생성할 때 -t 옵션을 사용한다.
보통은 {유저ID}/{프로젝트명}:{버전}
docker build . -t test/redis:latest
도커 데스크탑에서 바로 보인다! 신기함!
'자율 학습 > 스터디' 카테고리의 다른 글
[Docker] Dockerfile COPY 개선 (0) | 2024.06.23 |
---|---|
[Docker, Redis] 애플리케이션 도커 이미지 만들기 (host.docker.internal) (0) | 2024.06.23 |
[Docker, Redis] Port mapping 방법 (0) | 2024.06.20 |
[LangChain] Streamlit 으로 ChatGPT 클론코딩 (0) | 2024.06.12 |
윈도우에서 Docker 사용하기 (redis) (0) | 2024.06.04 |