Docker Image

leesj·2021년 12월 22일
0

Docker

목록 보기
3/5

Docker image

Step1. docker login
Step2. dockerFile 에서 빌드
Step3. 로컬에 만든 이미지 실행 및 확인
Step4. Docker Hub 이미지 업로드
Step5. Docker Hub 에 등록된 이미지 확인

도커 허브의 이미지 검색

# docker search ubuntu

여러 이미지 사용시 검색

최상위 접두어를 추가해 이미지 저장소를 명시

# docker search docker.io/ubuntu

이미지 생성

컨테이너를 이미지로 생성

# docker commit [OPTION] CONTAINER [REPOSITORY[:TAG]]
// coimmit_test 라는 컨테이너를 commit_test:first 이미지로 생성
# docker commit -a "alicek106" -m "my first commit" \
commit_test \ 
commit_test:first

이미지 추출

  • save, load
  • 이미지를 단일 바이너리로 추출하고 다시 로드
// 추출
# docker save -o ubuntu_14_04.tar ubuntu:14.04
// 로드
# docker load -i ubuntu_14_04.tar
  • export, import
  • 컨테이너의 파일시스템을 tar 파일로 추출하며 컨테이너 및 이미지에 대한 설정 정보를 저장하지 않는다.
# docker export -o rootFS.tar mycontainer
# docker import rootFS.tar myimage:0.0

사설 이미지 저장소

이미지 공유

도커허브

파일공유

// save 를 통한 생성
$ docker save -o <FILE_NAME.tar> <IMAGE_NAME>
// load 를 통해 로딩
$ docker load -i <FILE_NAME.tar>

이미지 삭제

# docker rmi [IMAGE_NAME[:TAG]]

이미지 크기를 줄이기 위한 방법

멀티 스테이지 빌드

하나의 Dockerfile 안에 여러 개의 FROM 이미지를 정의함으로써 빌드 완료 시 최종적으로 생성될 이미지의 크기를 줄이는 역할

FROM golang
ADD amin.go /root
WORKDIR /root
RUN go build -o /root/mainAppp /root/main.go

FROM lapine:latest
WORKDIR /root
COPY --from=0 /root/mainAPP
CMD ["./mainApp"]
  • --from=0 첫번째 스테이지를 의미
    * 스테이지에 이름 지정하여 사용 가능
    • FROM golang as builder
    • --from=builder

참고자료
시작하세요! 도커/쿠버네티스: 친절한 설명으로 쉽게 이해하는 컨테이너 관리

0개의 댓글