반응형

명령어 입력은 파란색, 출력 결과는 붉은색입니다.
Docker 이미지 목록을 확인하기 위한 명령어를 입력합니다.
docker images
Docker 이미지 목록을 확인합니다.
REPOSITORY TAG IMAGE ID CREATED SIZE
curlimages/curl latest 7551dbeefe0d 7 weeks ago 21.8MB
rancher/mirrored-coredns-coredns 1.12.0 1cf5f116067c 2 months ago 70.1MB
rancher/local-path-provisioner v0.0.30 b580d47bc23d 3 months ago 51.7MB
rancher/mirrored-library-traefik 2.11.10 1741c0b1ff49 4 months ago 168MB
rancher/mirrored-metrics-server v0.7.2 48d9cfaaf390 5 months ago 67.1MB
rancher/klipper-lb v0.4.9 11a5d8a9f31a 6 months ago 12.2MB
kubeflownotebookswg/profile-controller v1.9.0 743a6007d891 6 months ago 83.2MB
kubeflownotebookswg/volumes-web-app v1.9.0 068128775c16 6 months ago 314MB
kubeflownotebookswg/jupyter-web-app v1.9.0 bc4a8b97638e 6 months ago 314MB
kubeflownotebookswg/tensorboards-web-app v1.9.0 2c6a91816c0d 6 months ago 234MB
kubeflownotebookswg/tensorboard-controller v1.9.0 e403a2c4e71e 6 months ago 48.6MB
kubeflownotebookswg/notebook-controller v1.9.0 57b7d4827981 6 months ago 74.3MB
kubeflownotebookswg/centraldashboard v1.9.0 f232a03fd7d7 6 months ago 217MB
kubeflownotebookswg/pvcviewer-controller v1.9.0 5907394cdf85 6 months ago 56.8MB
kubeflownotebookswg/poddefaults-webhook v1.9.0 a9c9ee4be162 6 months ago 50.8MB
kubeflownotebookswg/kfam v1.9.0 301946ff0fa8 6 months ago 61.2MB
kubeflow/training-operator v1-9e52eb7 7472ae1eeaf8 6 months ago 65.9MB
kubeflowkatib/katib-ui v0.17.0 d4d8b4ff0a00 6 months ago 170MB
kubeflowkatib/katib-controller v0.17.0 0ab95b53dca3 6 months ago 75.3MB
kubeflowkatib/katib-db-manager v0.17.0 ca8eb9fc20f9 6 months ago 21.4MB
kserve/models-web-app v0.13.0-rc.0 06bc538dbc48 7 months ago 323MB
kserve/kserve-controller v0.13.0 3196ab97f8af 8 months ago 74.8MB
istio/proxyv2 1.22.1 ef207139acc0 8 months ago 271MB
istio/pilot 1.22.1 77cf8fb5119d 8 months ago 200MB
gcr.io/ml-pipeline/metadata-envoy 2.2.0 bfdc24b0d7b9 9 months ago 247MB
gcr.io/ml-pipeline/viewer-crd-controller 2.2.0 6a3ed4bc77aa 9 months ago 104MB
gcr.io/ml-pipeline/frontend 2.2.0 7e668c340bd6 9 months ago 509MB
gcr.io/ml-pipeline/api-server 2.2.0 f90f33b94fea 9 months ago 355MB
gcr.io/ml-pipeline/cache-server 2.2.0 2b8baf09165d 9 months ago 81.2MB
gcr.io/ml-pipeline/scheduledworkflow 2.2.0 2a889141225e 9 months ago 87.2MB
gcr.io/ml-pipeline/persistenceagent 2.2.0 429305b12e9f 9 months ago 79.2MB
gcr.io/ml-pipeline/visualization-server 2.2.0 7f8d7994538f 9 months ago 5.11GB
gcr.io/ml-pipeline/metadata-writer 2.2.0 6f21e48d7481 9 months ago 1.1GB
quay.io/jetstack/cert-manager-controller v1.14.5 3d272ec03f99 9 months ago 66.3MB
quay.io/jetstack/cert-manager-cainjector v1.14.5 67fe8c356b49 9 months ago 41.6MB
quay.io/jetstack/cert-manager-webhook v1.14.5 f37c09a3d900 9 months ago 54.1MB
ghcr.io/dexidp/dex v2.39.1 4c906a1108fd 10 months ago 99.1MB
gcr.io/ml-pipeline/workflow-controller v3.4.16-license-compliance 867575cd23b9 10 months ago 84.2MB
quay.io/oauth2-proxy/oauth2-proxy v7.6.0 c5c6a16763cb 11 months ago 34.5MB
nvidia/cuda 12.2.0-devel-ubuntu22.04 5307765dadf8 15 months ago 6.58GB
gcr.io/tfx-oss-public/ml_metadata_store_server 1.14.0 7eb57eef7902 18 months ago 155MB
python 3.7 16d93ae3411b 18 months ago 994MB
rancher/mirrored-library-busybox 1.36.1 c1f39daffdef 20 months ago 4.26MB
nvcr.io/nvidia/k8s-device-plugin v0.14.0 d76219bf33d7 22 months ago 284MB
gcr.io/kubebuilder/kube-rbac-proxy v0.13.1 eb5a02daef2f 2 years ago 55.2MB
mysql 8.0.29 33037edcac9b 2 years ago 444MB
gcr.io/ml-pipeline/mysql 8.0.26 9da615fced53 3 years ago 514MB
rancher/mirrored-pause 3.6 6270bb605e12 3 years ago 683kB
metacontrollerio/metacontroller v2.0.4 108b287e7067 3 years ago 54.6MB
gcr.io/kubebuilder/kube-rbac-proxy v0.8.0 ad393d6a4d1b 4 years ago 49MB
gcr.io/ml-pipeline/minio RELEASE.2019-08-14T20-37-41Z-license-compliance 290a74f42cdf 5 years ago 215MB
gcr.io/knative-releases/knative.dev/net-istio/cmd/controller <none> 8c2c9203e847 N/A 54.3MB
gcr.io/knative-releases/knative.dev/net-istio/cmd/webhook <none> 123913b7026c N/A 51.9MB
gcr.io/knative-releases/knative.dev/serving/cmd/autoscaler <none> 94130c1b1958 N/A 54.8MB
gcr.io/knative-releases/knative.dev/serving/cmd/activator <none> b75bbbeecb4a N/A 54.2MB
gcr.io/knative-releases/knative.dev/eventing/cmd/controller <none> dd50a99f74a8 N/A 58.9MB
gcr.io/knative-releases/knative.dev/eventing/cmd/webhook <none> c0e57498c620 N/A 57.9MB
gcr.io/knative-releases/knative.dev/serving/cmd/controller <none> 41dc7e46dd6f N/A 60.7MB
gcr.io/knative-releases/knative.dev/serving/cmd/webhook <none> 89e495e2d655 N/A 53.8MB
Linux에서 진행 상황을 확인하기 위해 PV(Pipe Viewer) 패키지를 설치하는 명령어를 입력합니다.
sudo apt install -y pv
PV 설치 과정을 확인합니다.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Suggested packages:
doc-base
The following NEW packages will be installed:
pv
0 upgraded, 1 newly installed, 0 to remove and 227 not upgraded.
Need to get 73.9 kB of archives.
After this operation, 188 kB of additional disk space will be used.
Get:1 http://kr.archive.ubuntu.com/ubuntu noble/main amd64 pv amd64 1.8.5-2build1 [73.9 kB]
Fetched 73.9 kB in 1s (74.3 kB/s)
Selecting previously unselected package pv.
(Reading database ... 195271 files and directories currently installed.)
Preparing to unpack .../pv_1.8.5-2build1_amd64.deb ...
Unpacking pv (1.8.5-2build1) ...
Setting up pv (1.8.5-2build1) ...
Processing triggers for man-db (2.12.0-4build2) ...
PV를 활용하여 Docker 이미지 목록에서 Repository를 기준으로 <none> Tag를 제외한 모든 이미지를 압축하고 저장하기 위한 create.sh 파일을 생성합니다. 이 때, OUTPUT_FILE, LOG_FILE, ERROR_FILE 경로는 변경 가능합니다.
vim create.sh
create.sh 파일 내용을 작성합니다.
#!/bin/bash
OUTPUT_FILE="./image_all.tar"
LOG_FILE="./image_save.log"
ERROR_FILE="./image_save_error.log"
> "$LOG_FILE"
> "$ERROR_FILE"
echo "이미지 목록을 가져옵니다."
# none 제외
IMAGES=$(docker images --format "{{.Repository}}:{{.Tag}}" | grep -v "<none>")
if [[ -z "$IMAGES" ]]; then
echo "저장할 이미지가 없습니다."
exit 1
fi
for IMAGE in $IMAGES; do
if docker save "$IMAGE" | pv -bart >> "$OUTPUT_FILE"; then
echo "[성공] $IMAGE 저장 완료" | tee -a "$LOG_FILE"
else
echo "[실패] $IMAGE 저장 실패" | tee -a "$ERROR_FILE"
fi
done
echo "이미지 저장 완료. 로그 파일: $LOG_FILE, 오류 파일: $ERROR_FILE"
생성된 create.sh 파일의 권한을 변경하고 실행합니다. 이미지 크기에 따라 저장 시간은 달라질 수 있습니다.
sudo chmod +x create.sh
./create.sh
Docker 이미지 저장 상황을 확인합니다.
이미지 목록을 가져옵니다.
21.2MiB 0:00:00 [ 114MiB/s] [ 114MiB/s]
[성공] curlimages/curl:latest 저장 완료
67.9MiB 0:00:00 [ 126MiB/s] [ 126MiB/s]
[성공] rancher/mirrored-coredns-coredns:1.12.0 저장 완료
49.6MiB 0:00:00 [ 190MiB/s] [ 190MiB/s]
[성공] rancher/local-path-provisioner:v0.0.30 저장 완료
160MiB 0:00:00 [ 182MiB/s] [ 182MiB/s]
[성공] rancher/mirrored-library-traefik:2.11.10 저장 완료
65.0MiB 0:00:00 [ 134MiB/s] [ 134MiB/s]
[성공] rancher/mirrored-metrics-server:v0.7.2 저장 완료
12.1MiB 0:00:00 [87.0MiB/s] [87.0MiB/s]
[성공] rancher/klipper-lb:v0.4.9 저장 완료
81.6MiB 0:00:00 [ 121MiB/s] [ 121MiB/s]
[성공] kubeflownotebookswg/profile-controller:v1.9.0 저장 완료
308MiB 0:00:03 [94.1MiB/s] [94.1MiB/s]
[성공] kubeflownotebookswg/volumes-web-app:v1.9.0 저장 완료
308MiB 0:00:02 [ 147MiB/s] [ 147MiB/s]
[성공] kubeflownotebookswg/jupyter-web-app:v1.9.0 저장 완료
231MiB 0:00:02 [ 113MiB/s] [ 113MiB/s]
[성공] kubeflownotebookswg/tensorboards-web-app:v1.9.0 저장 완료
47.4MiB 0:00:00 [ 131MiB/s] [ 131MiB/s]
[성공] kubeflownotebookswg/tensorboard-controller:v1.9.0 저장 완료
73.3MiB 0:00:00 [ 117MiB/s] [ 117MiB/s]
[성공] kubeflownotebookswg/notebook-controller:v1.9.0 저장 완료
217MiB 0:00:02 [92.6MiB/s] [92.6MiB/s]
[성공] kubeflownotebookswg/centraldashboard:v1.9.0 저장 완료
55.2MiB 0:00:00 [ 138MiB/s] [ 138MiB/s]
[성공] kubeflownotebookswg/pvcviewer-controller:v1.9.0 저장 완료
49.6MiB 0:00:00 [ 137MiB/s] [ 137MiB/s]
[성공] kubeflownotebookswg/poddefaults-webhook:v1.9.0 저장 완료
59.7MiB 0:00:00 [ 143MiB/s] [ 143MiB/s]
[성공] kubeflownotebookswg/kfam:v1.9.0 저장 완료
63.9MiB 0:00:00 [ 139MiB/s] [ 139MiB/s]
[성공] kubeflow/training-operator:v1-9e52eb7 저장 완료
163MiB 0:00:01 [ 162MiB/s] [ 162MiB/s]
[성공] kubeflowkatib/katib-ui:v0.17.0 저장 완료
72.1MiB 0:00:00 [ 176MiB/s] [ 176MiB/s]
[성공] kubeflowkatib/katib-controller:v0.17.0 저장 완료
20.7MiB 0:00:00 [ 138MiB/s] [ 138MiB/s]
[성공] kubeflowkatib/katib-db-manager:v0.17.0 저장 완료
317MiB 0:00:03 [88.9MiB/s] [88.9MiB/s]
[성공] kserve/models-web-app:v0.13.0-rc.0 저장 완료
72.4MiB 0:00:00 [ 108MiB/s] [ 108MiB/s]
[성공] kserve/kserve-controller:v0.13.0 저장 완료
262MiB 0:00:01 [ 138MiB/s] [ 138MiB/s]
[성공] istio/proxyv2:1.22.1 저장 완료
194MiB 0:00:01 [ 161MiB/s] [ 161MiB/s]
[성공] istio/pilot:1.22.1 저장 완료
240MiB 0:00:02 [ 117MiB/s] [ 117MiB/s]
[성공] gcr.io/ml-pipeline/metadata-envoy:2.2.0 저장 완료
53.9MiB 0:00:00 [ 126MiB/s] [ 126MiB/s]
[성공] gcr.io/ml-pipeline/viewer-crd-controller:2.2.0 저장 완료
521MiB 0:00:09 [55.0MiB/s] [55.0MiB/s]
[성공] gcr.io/ml-pipeline/frontend:2.2.0 저장 완료
252MiB 0:00:01 [ 131MiB/s] [ 131MiB/s]
[성공] gcr.io/ml-pipeline/api-server:2.2.0 저장 완료
78.0MiB 0:00:00 [ 246MiB/s] [ 246MiB/s]
[성공] gcr.io/ml-pipeline/cache-server:2.2.0 저장 완료
84.8MiB 0:00:00 [ 184MiB/s] [ 184MiB/s]
[성공] gcr.io/ml-pipeline/scheduledworkflow:2.2.0 저장 완료
76.1MiB 0:00:00 [ 189MiB/s] [ 189MiB/s]
[성공] gcr.io/ml-pipeline/persistenceagent:2.2.0 저장 완료
4.87GiB 0:00:46 [ 106MiB/s] [ 106MiB/s]
[성공] gcr.io/ml-pipeline/visualization-server:2.2.0 저장 완료
1.04GiB 0:00:10 [ 104MiB/s] [ 104MiB/s]
[성공] gcr.io/ml-pipeline/metadata-writer:2.2.0 저장 완료
64.3MiB 0:00:00 [ 130MiB/s] [ 130MiB/s]
[성공] quay.io/jetstack/cert-manager-controller:v1.14.5 저장 완료
40.8MiB 0:00:00 [ 114MiB/s] [ 114MiB/s]
[성공] quay.io/jetstack/cert-manager-cainjector:v1.14.5 저장 완료
52.6MiB 0:00:00 [ 126MiB/s] [ 126MiB/s]
[성공] quay.io/jetstack/cert-manager-webhook:v1.14.5 저장 완료
94.9MiB 0:00:00 [ 163MiB/s] [ 163MiB/s]
[성공] ghcr.io/dexidp/dex:v2.39.1 저장 완료
82.2MiB 0:00:00 [97.9MiB/s] [97.9MiB/s]
[성공] gcr.io/ml-pipeline/workflow-controller:v3.4.16-license-compliance 저장 완료
34.4MiB 0:00:00 [78.8MiB/s] [78.8MiB/s]
[성공] quay.io/oauth2-proxy/oauth2-proxy:v7.6.0 저장 완료
6.14GiB 0:00:32 [ 191MiB/s] [ 191MiB/s]
[성공] nvidia/cuda:12.2.0-devel-ubuntu22.04 저장 완료
151MiB 0:00:01 [ 112MiB/s] [ 112MiB/s]
[성공] gcr.io/tfx-oss-public/ml_metadata_store_server:1.14.0 저장 완료
969MiB 0:00:09 [ 105MiB/s] [ 105MiB/s]
[성공] python:3.7 저장 완료
4.30MiB 0:00:00 [63.6MiB/s] [63.6MiB/s]
[성공] rancher/mirrored-library-busybox:1.36.1 저장 완료
273MiB 0:00:01 [ 139MiB/s] [ 139MiB/s]
[성공] nvcr.io/nvidia/k8s-device-plugin:v0.14.0 저장 완료
53.9MiB 0:00:00 [ 126MiB/s] [ 126MiB/s]
[성공] gcr.io/kubebuilder/kube-rbac-proxy:v0.13.1 저장 완료
434MiB 0:00:04 [ 101MiB/s] [ 101MiB/s]
[성공] mysql:8.0.29 저장 완료
495MiB 0:00:03 [ 140MiB/s] [ 140MiB/s]
[성공] gcr.io/ml-pipeline/mysql:8.0.26 저장 완료
679KiB 0:00:00 [18.7MiB/s] [18.7MiB/s]
[성공] rancher/mirrored-pause:3.6 저장 완료
52.6MiB 0:00:00 [ 146MiB/s] [ 146MiB/s]
[성공] metacontrollerio/metacontroller:v2.0.4 저장 완료
47.9MiB 0:00:00 [ 138MiB/s] [ 138MiB/s]
[성공] gcr.io/kubebuilder/kube-rbac-proxy:v0.8.0 저장 완료
205MiB 0:00:01 [ 174MiB/s] [ 174MiB/s]
[성공] gcr.io/ml-pipeline/minio:RELEASE.2019-08-14T20-37-41Z-license-compliance 저장 완료
이미지 저장 완료. 로그 파일: ./image_save.log, 오류 파일: ./image_save_error.log
Docker 이미지가 저장된 경로를 확인하기 위한 명령어를 입력합니다. 기본 저장 경로는 /mnt/working/kubeflow 입니다.
ll /mnt/working/kubeflow -h
저장된 기본 경로에서 Docker 이미지를 확인합니다.
total 20G
drwxr-xr-x 3 gpu1 gpu1 4.0K Feb 5 13:37 ./
drwxr-xr-x 3 gpu1 gpu1 4.0K Feb 5 10:54 ../
-rwxr-xr-x 1 gpu1 gpu1 680 Feb 5 13:36 create.sh*
-rw-rw-r-- 1 gpu1 gpu1 20G Feb 5 13:40 image_all.tar
-rw-rw-r-- 1 gpu1 gpu1 0 Feb 5 13:37 image_save_error.log
-rw-rw-r-- 1 gpu1 gpu1 3.2K Feb 5 13:40 image_save.log
-rwxr-xr-x 1 gpu1 gpu1 88 Jan 20 14:08 kubeflow.sh*
-rwxr-xr-x 1 gpu1 gpu1 510 Jan 20 16:42 load.sh*
drwxr-xr-x 11 gpu1 gpu1 4.0K Jan 20 14:08 manifests/

반응형