IT/기초 지식

[Docker] Docker 이미지를 오프라인에서도 사용하는 방법

개발자 두더지 2021. 10. 13. 22:09
728x90

 인터넷에 접속할 수 없는 환경에서도 Docker 공식 리포지터리로 부터 Docker 이미지를 얻어내 사용하고 싶을 경우 방법에 대해 알아보려고 한다.

 

사용환경


- 다운로드용 PC : 인터넷에 연결 가능한 환경. Windows10에 Docker(version 17.09.0-ce) 도입.

- Docker환경 : 다운로드용 PC와 소통이 가능하지만, 인터넷에는 연결되어 있지 않은 환경. Ubuntu상에 Docker(version17.03.2-ce) 도입.

 

 

실행


 먼저 이미지 다운드로드용 PC상에서 Docker pull 커맨드를 사용하여 이미지를 얻어낸다. 예에서는 wordpress를 얻어내고 있다.

#### 다운드로드용 PC

PS C:\Users\User01> docker pull wordpress
Using default tag: latest
latest: Pulling from library/wordpress
85b1f47fba49: Pull complete
d8204bc92725: Pull complete
92fc16bb18e4: Pull complete
31098e61b2ae: Pull complete
f6ae64bfd33d: Pull complete
003c1818b354: Pull complete
a6fd4aeb32ad: Pull complete
a094df7cedc1: Pull complete
e3bf6fc1a51d: Pull complete
ad235c260360: Pull complete
edbf48bcbd7e: Pull complete
fd6ae81d5745: Pull complete
69838fd876d6: Pull complete
3186ebffd72d: Pull complete
b24a415ea2c0: Pull complete
225bda14ea90: Pull complete
d47a53aaaacc: Pull complete
ce9b97a033e9: Pull complete
Digest: sha256:6216f64ab88fc51d311e38c7f69ca3f9aaba621492b4f1fa93ddf63093768845
Status: Downloaded newer image for wordpress:latest
PS C:\Users\User01>
PS C:\Users\User01> docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wordpress           latest              fcf3e41b8864        31 hours ago        408MB

 계속해서 이미지를 전송하기 위해 압축한다.

#### 다운드로드용 PC

PS C:\Users\User01> docker save -o wordpress.tar wordpress

 그러면 사용 유저의 홈 디렉토리 (C:\Users\User01) 내에 압축한 파일이 "wordpress.tar" 파일으로 만들어진다.

#### 다운드로드용 PC

PS C:\Users\User01> dir wordpress.tar


    ディレクトリ: C:\Users\User01


Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       2017/11/06     15:35      421605888 wordpress.tar

 압축한 파일을 Docker실행 환경에 전송한 후에, 다음의 커맨드로 이미지를 로드한다.

#### Docker 환경

root@docker01:/tmp# docker load -i wordpress.tar
37412c153883: Loading layer [==================================================>] 204.7 MB/204.7 MB
c3d26400d3ff: Loading layer [==================================================>] 3.584 kB/3.584 kB
5cd2e0cfe892: Loading layer [==================================================>] 8.552 MB/8.552 MB
2c3aa4e96952: Loading layer [==================================================>] 10.24 kB/10.24 kB
4c0354ed71f4: Loading layer [==================================================>] 9.728 kB/9.728 kB
2f6273a5f133: Loading layer [==================================================>] 4.096 kB/4.096 kB
dcdbe9fe2ca1: Loading layer [==================================================>]  7.68 kB/7.68 kB
a9aa8861270e: Loading layer [==================================================>] 13.87 MB/13.87 MB
fa7f9311a060: Loading layer [==================================================>] 4.096 kB/4.096 kB
61a961ab5d2b: Loading layer [==================================================>] 33.01 MB/33.01 MB
8933dc910eee: Loading layer [==================================================>] 11.78 kB/11.78 kB
493137409f3e: Loading layer [==================================================>] 4.608 kB/4.608 kB
749e8aaa7dd4: Loading layer [==================================================>] 6.892 MB/6.892 MB
6594bf4ea5b9: Loading layer [==================================================>] 4.608 kB/4.608 kB
24605e7ca88b: Loading layer [==================================================>] 7.168 kB/7.168 kB
4f2aeb865fa0: Loading layer [==================================================>] 25.14 MB/25.14 MB
2ff5b2ab6416: Loading layer [==================================================>] 10.24 kB/10.24 kB
Loaded image: wordpress:latest

 이것으로 이미지의 로드가 완료됐다. 마지막으로 이미지의 등록을 확인해보자.

root@docker01:/tmp# docker images | grep wordpress
wordpress                                   latest              fcf3e41b8864        33 hours ago        408 MB

참고자료

https://qiita.com/rjegg/items/0bef14ee419c8298126c

728x90