Docker image를 local에서 build를 한 후 이를 저장하고 압축해서 보관하거든 다른 환경으로 이동할 수 있다. 솔직히 DockerHub에 image를 등록해서 사용할 수 있지만 리소스가 부족한 환경에서는 이 방법이 괜찮다고 생각했다.
아래에서는 image build 후 추출 및 압축 처리를 하는 방법을 설명을 하려고 한다.
먼저 Docker image를 build하기 위해서 Dockerfile
을 작성해야 한다. (예제는 nodeJS)
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm install -g typescript ts-node
EXPOSE 8080
CMD ["npm", "start"]
Dockerfile을 작성하고 나면 이 파일을 이용해서 image build를 해준다.
docker save -o my-image.tar my-image
만약 여러 image를 하나의 압축파일로 만들고 싶을 때 -o "압축 파일 이름"
뒤에 image 이름들을 적어주면 된다.
docker save -o my-images.tar my-image my-image2
압축한 이미지 파일을 다시 이미지로 불러오기 위해서 아래와 같은 명령어를 사용할 수 있다.
docker load < my-image.tar
다시 docker에 image를 build가 됐고, 확인을 하기 위해서는
docker image
명령어를 통해서 확인할 수 있다.