로컬에 있는 도커 이미지 수동으로 서버에 로딩 시키기

OCTOBER 19, 2022

이번에 전사적으로 모든 CI/CD 툴이 작동하지 않는 상태에서 새로 빌드/배포를 해야하는 상황이 있었다.
이에 로컬에서 빌드한 docker 이미지를 k8s에 배포까지 수동으로 작업한 내용을 기록한다.

✔️ docker image 빌드

docker build -t {image명}:{tag} .

✔️ 컨테이너 이미지 tar 파일로 저장

$ docker save {image명}:{tag} -o dockerImage.tar

✔️ tar 파일 서버로 전송

$ scp ./dockerImage.tar {계정}@{host}:{경로}

✔️ 해당 서버에서 컨테이너 이미지 로딩

  • 이미지를 로딩하면 k8s에서 해당 이미지로 배포가 가능하다.
$ sudo docker load -i dockerImage.tar

✔️ k8s 배포시

  • deployment.yaml 파일 내에 imagePullPolicy 필드값을 Never 로 설정하여 위에 로드한 이미지를 사용하도록 한다.
apiVersion: apps/v1
kind: Deployment
spec:
  template:
    spec:
      containers:
        - name: app
          imagePullPolicy: Never
...

작업 기록 블로그