Tech Note

도커를 활용한 서비스 배포하기 (save, load, export, import) #4

Dominic-Kim 2022. 6. 16. 19:07
728x90

컨테이너 생성 후 접속까지 문제없이 되면 콘솔 화면을 볼 수 있다.

>docker exec -it container1 /bin/bash
[root@a5b75f4364ea /]#

간단한 테스트를 위해 기존 구성도에 nginx를 추가한다. 

일부 변경된 구성

 

nginx yum 설치를 위해 repository를 추가해준다.

[root@a5b75f4364ea]# cd /etc/yum.repos.d/
[root@a5b75f4364ea yum.repos.d]# ll
total 44
-rw-r--r-- 1 root root 1664 Oct 23  2020 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 Oct 23  2020 CentOS-CR.repo
-rw-r--r-- 1 root root  649 Oct 23  2020 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root  630 Oct 23  2020 CentOS-Media.repo
-rw-r--r-- 1 root root 1331 Oct 23  2020 CentOS-Sources.repo
-rw-r--r-- 1 root root 8515 Oct 23  2020 CentOS-Vault.repo
-rw-r--r-- 1 root root  314 Oct 23  2020 CentOS-fasttrack.repo
-rw-r--r-- 1 root root  616 Oct 23  2020 CentOS-x86_64-kernel.repo
[root@a5b75f4364ea yum.repos.d]# vi nginx.repo

nginx.repo에 내용을 추가해준다.

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
>yum install -y nginx

정상적으로 설치가 되면 localhost 접속 시 Webcome to nginx!가 보인다.

외부에서 접속하는 경우 내 PC(http://192.168.0.101)로 접속 시 자동으로 Container1(http://172.16.0.100)로  포워딩된다.

여기까지 작업이 됐으면 이미지 배포 작업이 문제 없이 되는지 확인해볼 필요가 있다.

아래 명령어를 활용하여 Container1 컨테이너를 .tar로 변환한다.

1) Docker 이미지 추출/삽입 Docker Save - Docker Load

# docker save -o <저장할 파일명>.tar <이미지>

# docker load -i <파일명>.tar

2) Docker 컨테이너 추출/삽입 Docker Export - Docker Import

# docker export <컨테이너명 또는 컨테이너ID> > <저장할 파일명>.tar

# docker import <파일명>.tar

 

이제 폐쇄망 운영 서버에 docker import를 한다.

[root@localhost app]# docker import container1.tar
sha256:5b9ca6df66f90315a52c9b3577a48f14909f4371af659b88b7b6b766c6aa829d

[root@localhost app]# docker image list
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
<none>       <none>    5b9ca6df66f9   About a minute ago   391MB
<none>       <none>    32046132fec7   13 hours ago         391MB

 

이제 3편을 참조하여 컨테이너 생성 및 접속 확인을 해본다.

2022.06.16 - [운영체제/docker] - 도커를 활용한 서비스 배포하기 (컨테이너 생성 및 설정) #3

 

nginx 접속 확인

배포까지 문제없이 진행되었다!