Portainer(포테이너)에서 Docker로 Nginx 웹서버 설치하기

Portainer(포테이너)에서 Docker로 Nginx 웹서버 설치하기

이번에는 OMV기본 플러그인이 아닌 도커에서의 Nginx 설치 방법입니다.

 

nginx의 경우 ARM CPU에도 활발하게 X86과 동일한 수준의 서비스를 제공하고있습니다.

포테이너에서 레포지토리를 dockerhub로 두고 이미지명에 nginx:latest 를 입력하면 알아서 ARM용으로 최신버전을 받아줍니다.

 

 publish a new network port 를 눌러 80포트를 바인드 해줍니다.

 

 

먼저 위와같은 볼륨설정이 필요합니다.

아래 경로중 {유저명} 부분은 본인의 리눅스 홈폴더 하위의 실제 유저명을 입력해야합니다.

저는 유저가 nano 이기에 위처럼 home 폴더가 nano지만 사용자명이 예를들어 admin 이라면 /home/admin/app/nginx/html 이라는 경로가 될겁니다.

 

/etc/nginx/nginx.conf/etc/nginx/nginx-custom.conf -> /home/{유저명}/app/nginx/nginx-custom.conf
/etc/nginx/conf.d/mysite.template -> /home/{유저명}/app/nginx/mysite.template
/temp-nginx -> /home/nano/app/nginx/html (추후 /home/{유저명}/app/nginx/html 로 변경할 예정)

 

nginx 기본 html파일을 복사하기위해 임시 temp-nginx 폴더를 하나만들고 볼륨 설정은 위처럼 진행합니다.

 

cd ~/
mkdir app
cd app
mkdir nginx
cd nginx

mkdir html
vim nginx-custom.conf
:wq!
vim mysite.template
:wq!

설정과 동일하게 홈폴더 아래에 위와같은 폴더구조를 만들었습니다.

기본설정외에 별도 추가설정을 적용하기 위해 nginx-custom.conf를 생성합니다.

 

Env 항목은 위처럼 포스트와 호스트 경로를 넣어줍니다.

 

 

모두 입력이 완료되면 Deploy를 눌러줍니다.

 

iptime 공유기에서 위처럼 포트포워드를 추가해서 외부접속까지 진행해보겠습니다.

 

 

설치 이후 실행 결과는 심플함의 끝입니다.

정상적으로 배포되었습니다.

하지만 html폴더를 도커 컨테이너 경로의 밖으로 빼서 호스트 쪽에 설정하지 않으면 웹서버의 의미가 없습니다.

(관리자가 직접 html 파일을 업로드 하고 수정하기 위함)

 

포테이너에서 nginx의 콘솔항목으로 들어갑니다.

html 폴더를 서빙할 것이기에 기본 html파일을 모두 복사하도록 하겠습니다.

 

bin/bash 쉘로 진행하겠습니다.

Connect를 누릅니다.

 

cp -R /usr/share/nginx/html/* /temp-nginx/

위 명령어를 통해 html 파일을 임시폴더로 복사를 진행합니다.

 

 

nginx 컨테이너명을 눌러줍니다.

 

duplicate/Edit항목으로 이미지를 다시설정합니다.

 

방금 temp-nginx폴더에 html 파일들을 이동시켜줬으니 이제 html 파일들이 위치할겁니다.

경로만 다시 /usr/share/nginx/html 로 변경합니다.

 

Replace 버튼을 눌러 재배포를 해줍니다.

 

포테이너에서 80 포트 주소로 접속해보면 정상 실행이 됩니다.

이제부턴 html파일을 호스트경로인 /home/nano/app/nginx/html 경로에 업로드해서 웹서버로 사용하시면 되겠습니다.

 

위 html 복사 작업을 진행한 이유는 컨테이너 이미지 마다 다르긴한데,

기본설정을 호스트 폴더로 변경시 자동 생성해주는 컨테이너 이미지도 있지만

nginx의 경우 수동으로 일일이 복사를 해줘야하는 문제가 있습니다.

 

경로를 변경해주는 이유는 도커이미지의 기본 설정파일이 아닌 사용자가 직접 관리하기 위함입니다.

컨테이너에는 기본적으로 변하지 않는 파일들만 존재하고 실제 설정파일이나 html같은 경로는

호스트 측으로 분리하여 관리하는것이 도커의 포인트입니다.

 

도움이 되시길 바랍니다.

감사합니다.

비정기로 발행되는 추천 포스트를 이메일로 받아 보실 수 있습니다.

특별한 추천 포스트를 바로 이메일로 받아보세요. 물론 무료입니다!
좋아요! 받은 편지함을 확인하고 구독을 확인하려면 링크를 클릭하십시오.
오류! 유효한 이메일 주소를 입력하십시오!