본문 바로가기
요즘공부

[도커&쿠버네티스] 교육 2일차_인터넷이 차단된 환경에서 도커이미지 다운로드 및 설치 방법

by 게으른 피글렛 2025. 3. 7.
반응형

1. CentOS9s 설치

centos 서버를 설치하여 이곳에도 동일하게 vagrant 설치예정

설치후 인터넷 차단하여 도커이미지를 다운로드 및 실행 예정

 

powershell접속 > centos9s 설치 > 설정

 

 

< powershell로 접속>

#우선 docker 파일로 이동하여 centos9s_2라는 폴더 생성
PS C:\Users\weekend> cd docker

PS C:\Users\weekend\docker> mkdir centos9s_2
PS C:\Users\weekend\docker> ls


    디렉터리: C:\Users\weekend\docker


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----      2025-02-17   오후 9:18                centos9s
d-----      2025-03-07   오후 3:45                centos9s_2

#기존에 만들어두었던 centos9s폴더와 이번에 만든 centos9s_2폴더가 생성됨

 

 

<vagrant 에서 centos9 다운로드 설치>

https://portal.cloud.hashicorp.com/vagrant/discover?query=centos9

 

명칭만 확인후 다운로드는 powershell로 진행

 

#centos9s_2 폴더로 이동
PS C:\Users\weekend\docker> cd .\centos9s_2\

#명령어로  설치
PS C:\Users\weekend\docker\centos9s_2> vagrant box add generic/centos9s
==> box: Loading metadata for box 'generic/centos9s'
    box: URL: https://vagrantcloud.com/api/v2/vagrant/generic/centos9s
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) hyperv
2) libvirt
3) parallels
4) qemu
5) virtualbox
6) vmware_desktop

Enter your choice: 5  
#->>>>> 5번클릭!

==> box: Adding box 'generic/centos9s' (v4.3.12) for provider: virtualbox (amd64)
    box: Downloading: https://vagrantcloud.com/generic/boxes/centos9s/versions/4.3.12/providers/virtualbox/amd64/vagrant.box
    box:
    box: Calculating and comparing box checksum...
==> box: Successfully added box 'generic/centos9s' (v4.3.12) for 'virtualbox (amd64)'!

 

설치내역 확인

PS C:\Users\weekend> vagrant box list
generic/centos9s   (virtualbox, 4.3.12, (amd64))
generic/ubuntu2204 (virtualbox, 4.3.12, (amd64))

 

vagrant 설정값 파일다운로드

PS C:\Users\weekend\docker\centos9s_2> vagrant up
PS C:\Users\weekend\docker\centos9s_2> vagrant init
`Vagrantfile` already exists in this directory. Remove it before
running `vagrant init`

 

 

설치가 완료됨

동일하게 Vagrantfile 수정

 

더보기

중간과정생략

강의시간에 알려준 방식은 강사님의 서버에서 다운받아 설치인데

내가 기존에 알던 방식으로 수행했더니 오류 발생함 -> ssh 연결이 안됨

 

설정값을 변경하고 저장

잘 동작이 되는 것 확인

PS C:\Users\weekend\docker\centos9s_2> vagrant up
PS C:\Users\weekend\docker\centos9s_2> vagrant status
Current machine states:

default                   running (virtualbox)

The VM is running. To stop this VM, you can run `vagrant halt` to
shut it down forcefully, or you can run `vagrant suspend` to simply
suspend the virtual machine. In either case, to restart it again,
simply run `vagrant up`.

 

VirtualBox에서 확인

putty에서 접속 확인

 

접속 완료!

 

이렇게 변경하면 인터넷이 차단됨

케이블 연결됨 해제!

 

 

2. docker 이미지 생성

 

우분투 mariadb > mariadb.tar 파일로 생성 > ssh로 centos에 파일 전달

 

우선 우분투와 centos 구분을 위해 centos9의 글씨체를 노란색으로 변경

 

명령어 : export PS1='\[\033[33m\][\u@\h \W]\$ \[\033[0m\]'

 

 

<인터넷 연결 확인>

연결되지 않음

 

 

<우분투에서 tar 파일 생성>

#tar 파일로 생성
vagrant@ubuntu2204:~$ docker image save -o mariadb.tar mariadb
vagrant@ubuntu2204:~$ ls -l mariadb.tar
-rw------- 1 vagrant vagrant 342080000 Mar  7 17:12 mariadb.tar

 

<우분투에서 sftp로 centos로 전달>

vagrant@ubuntu2204:~$ sftp vagrant@192.168.50.20
vagrant@192.168.50.20's password:
Connected to 192.168.50.20.

#sftp 접속
sftp> pwd
Remote working directory: /home/vagrant

#vagrant home 폴더에 있는 mariadb.tar 전달
sftp> put mariadb.tar
Uploading mariadb.tar to /home/vagrant/mariadb.tar
mariadb.tar                                   100%  326MB  24.9MB/s   00:13

 

<centos에서 내용 확인>

전송이 완료됨

 

[vagrant@centos ~]$ ls
mariadb.tar

#.tar 파일 풀기
[vagrant@centos ~]$ tar -tf mariadb.tar
blobs/
blobs/sha256/
blobs/sha256/073e4b859d1cde3de0ddfb70cabdb0392b4490aa60a154c177d6cafd7480108e
blobs/sha256/24988e0aa826e6f692f8742fccccf676779cdcea61d953c09e7eb9e099dd33cc
blobs/sha256/35248c1c471e700b4222e7c2867f849f799488038843bb808cdf097449a65b47
blobs/sha256/4b7c01ed0534d4f9be9cf97d068da1598c6c20b26cb6134fad066defdb6d541d
blobs/sha256/5807cc98f5ef3bd84449034d0759e166a715ffad09393c1ba4382af3c5b9f522
blobs/sha256/5bdcc2c367ffe3d29d1f1579f97f593c8d8203bc967816dc0a331b7faa97af1f
blobs/sha256/5c9c5d32e45f08ad6cd37ea7ec6a7a347ab5684d3219d36111805854559b9b2f
blobs/sha256/5d336e670221960f41bb74c4cffc6ff578927b79ad4bc3230b7440c91f5b3675
blobs/sha256/7ef0dbc845cd88049ed8a01a12279f601f08c3d8ca272e7d0ecc851e52ebd9aa
blobs/sha256/a0fe46fbdd31ee3682b4cd068b574ec9af59312311b7647c4b68b8e4db89b67b
blobs/sha256/a914eff5d2eb4c650a4e787e453d52a4ffba977632bd624cc6e63d0c9c4c2d65
blobs/sha256/aa49b9ce16b8149c6bc55f8c7cf66efb21e2ccf3e276212c93f875a0caf9dc4b
blobs/sha256/aa850d7a057e1be742842108f816afa78adba7fa8950d5d095557ba32dfd0555
blobs/sha256/ae3deb8193f4116f58cd4518bd730fcd0e1da7bde3dd4ab33bbc8747f81b66ca
blobs/sha256/b14a4796aaaea8c6482ec84b00630e2ddeb60c1e722a04e2aaad27f7a48b697e
blobs/sha256/c1e4b53f3ef4ffb0e202aa0675d1f84b34f935f0fa118cc31012c5cb22bfc1b7
blobs/sha256/cb2c884b9ce7d319d38af8eaed36c9da4e79b8eeec541d92313971f57d406997
blobs/sha256/df816c495f77f0ffabed479938f294bec634c4d3f7a47fdea91b373746071db2
index.json
manifest.json
oci-layout
repositories

#도커이미지 올리기
[vagrant@centos ~]$ docker image load -i mariadb.tar
4b7c01ed0534: Loading layer  80.65MB/80.65MB
ae3deb8193f4: Loading layer  15.87kB/15.87kB
5bdcc2c367ff: Loading layer  14.11MB/14.11MB
df816c495f77: Loading layer  1.536kB/1.536kB
b14a4796aaae: Loading layer   5.12kB/5.12kB
5807cc98f5ef: Loading layer  247.2MB/247.2MB
35248c1c471e: Loading layer  13.82kB/13.82kB
c1e4b53f3ef4: Loading layer   29.7kB/29.7kB
Loaded image: mariadb:latest

#도커이미지 생성
[vagrant@centos ~]$ docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
mariadb      latest    a914eff5d2eb   3 weeks ago   336MB

 

<컨테이너 생성이 되는지 확인>

#mariadb 컨테이너 생성
[vagrant@centos ~]$ docker run -d --name mariadb --env MARIADB_ROOT_PASSWORD=mypass mariadb:latest
d101f2f5071a73f908bc0cfa226d81d13743b81f12abc7af076f5c064d7277ab

#mariadb 생성확인
[vagrant@centos ~]$ docker ps
CONTAINER ID   IMAGE            COMMAND                  CREATED          STATUS          PORTS      NAMES
d101f2f5071a   mariadb:latest   "docker-entrypoint.s…"   12 seconds ago   Up 11 seconds   3306/tcp   mariadb

 

 

 

 

완료!

네트워크는 원상복귀

반응형