퐈니썬's LIfe - 잘 실패하자 RSS 태그 관리 글쓰기 방명록
docker 외부접속 (1)
2021-12-23 08:52:06
728x90
반응형

이번 포스트는 지난 포스트인 "[Linux] Docker의 Dockerfile 작성하여 Docker image 만들기"에 이어 image를 다른 컴퓨터로 배포 하는 과정과 image를 통해 구동시킨 container에 외부접속하는 과정을 정리해보았습니다. 

 

2021.12.22 - [OS(운영체제)/Linux] - [Linux] Docker의 Dockerfile 작성하여 Docker image 만들기

 

[Linux] Docker의 Dockerfile 작성하여 Docker image 만들기

 최근 다른 운영체제에 프로그램을 실행해야하는 상황에서 Docker를 통해 image를 만들어 배포했던 경험을 정리해두고자합니다.  본 포스트에서는 우리가 배포하고자하는 프로그램이나 시스템을

panython.tistory.com

 

01. Docker 소프트웨어 배포 

본 포스트에서는 앞서 제작한 Dockerfile을 통해 "flask를 이용한 게시판 프로젝트" 를 배포하고자 합니다.

Ubuntu나 다른 OS 환경에서 CentOS7에서 사용할 수 있도록 만들어진 프로젝트의 어플리케이션을 배포할 때 아래와 같습니다. 

 

01. Dockerfile을 통해 만든  Docker image를 *.tar 파일로 만든다.

일종의 스냅샷처럼 현재 docker image의 환경과 설정을 그대로 저장하는 과정입니다. 

docker save [저장할 도커 이미지:버전] -o Name.tar

 

02. 설치하고자 하는 OS 환경에 docker를 사용할 수 있도록 설치한다.

03. 설치할 docker image.tar 파일을 옴기고 load 한다.

 docker load -i Name.tar

04. docker image 확인한다.

docker image ls

주의 사항: 간혹, load된 docker image의 이름과 tag가 <none>으로 표기 될 수 있습니다.

꼭 확인하고, docker tag를 통해 변경하세요!!

05. docker image를 통해 docker container 생성하기

기본 사용법 중 docker image 실행하기 참고하세요.

2021.12.16 - [OS(운영체제)/Linux] - [Linux] Docker 주로 사용하는 명령어 모음!!

 

[Linux] Docker 주로 사용하는 명령어 모음!!

도커를 사용하면서 주요하게 사용하는 명령어를 까먹지 않도록 메모 해두고자 합니다!! 깃허브 처럼 생활화하여 기억하자!! 01. docker OS 이미지 다운 받기 #Docker Hub로 부터 이미지 다운로드 받기 #

panython.tistory.com

 

 

02. Docker에 외부 접속 하기

docker 이미지를 load 하고, docker 이미지를 통해 container을 실행할 수 있었습니다. 

flask를 이용한 게시판 프로젝트는 외부에서 접속하여 게시판을 사용 할 수 있도록 해야하므로 container를 생성할때, 외부접속과 백그라운드 실행을 해두어야 할것입니다. 

 

01. 포트 포워딩 하기

일단, 외부에서 접속이 가능하도록 외부 ip와 포트번호를 넘겨 받아야합니다. 아래의 링크 참조해주세요. 

 

2021.12.23 - [네트워크] - [네트워크] 외부접속을 위한 포트포워드 하기

 

[네트워크] 외부접속을 위한 포트포워드 하기

 본 포스트는 서버 PC에 외부 접근을 위해서 네트워크 포워드 방법을 메모해두고자 합니다!! 잘못된 점이나 피드백은 언제든지 환영입니다. 01. 포트포워드란?  외부 접속을 위해서는 외부의 기

panython.tistory.com

 

02. docker container 외부 접속 및 백그라운드로 실행

포트 포워드를 통해 외부 ip와 포트번호를 알았으니, 이제 docker container 생성시 이를 적용 해야합니다. 

docker run -d -it --name test -p [ip주소]:[외부포트번호]:[docker 내부포트번호] dockerimage:version

docker run에서 "-d" 옵션은 백그라운드 실행 "-p" 는 외부접속을 위한 옵션입니다. 

 

해당 예시의 명령어의 마지막에 "flask run"은 프로젝트의 실행을 위한 명령어 이며, dockerifle 생성시 CMD 명령어 대신에 실행되는 부분입니다.  

 

그리고 해당 게시판을 외부에서 열 수 있고, 서버에서는 사진과 같이 외부접속과 행동을 확인 할 수 있습니다. 

 

 

728x90
반응형