티스토리 뷰

 이번 포스트 에서는 간단히 Nginx 를 docker 로 올려보겠습니다. 


* MariaDB 와 PHP 를 따로 올릴 수도 있지만 하나의 컨테이너를 자체적으로 생성하여 올릴수도 있기 때문에 Nginx + MariaDB (Mysql) + PHP7-fpm 은 후에 포스팅 하도록 하겠습니다.




우선 이미 Docker 가 설치되어 있다는 전제하에 docker pull nginx:latest 로 최신 nginx 이미지를 가지고 오도록 합니다.


docker pull nginx:latest


그리고 아래의 명령어로 서비스를 간단히 올려 보도록 합니다.


docker run --name [container-name] -v [content-path]:/usr/share/nginx/html:ro -d -p 80:80 -p 443:443 nginx 


이제 만약 [content-path] 의 안에 index.html 이 있다면 해당 html 을 ip 주소로 접속하여 작동 되는 것을 확인 하실 수 있으실 것 입니다.



위의 명령어에 관해 간단히 설명 드리면 




docker run 

 - image 를 Container 로 올림


--name [container-name]

 - Container 의 이름을 지정합니다.


-v [content-path]:/usr/share/nginx/html:ro

 - [content-path] 는 현재 호스트의 볼륨을 말하며 :/usr/share/nginx/html 은 컨테이너의 볼륨을 말합니다. 디렉토리를 컨테이너의 해당 폴더로 마운트 합니다.

 - -v 를 여러개 써줌으로서 여러 폴더를 마운트 하는 것도 가능합니다. 대표적으로 config 를 따로 마운트 하는 것 역시 가능합니다.


-d

 - 컨테이너를 백그라운드로 실행하고 container id 를 출력하게 합니다.


-p 80:80 -p 443:443

 - 포트를 바인딩 합니다. 호스트의 80 포트를 컨테이너의 80 으로 호스트의 443 포트를 컨테이너의 443 포트로 연결하는 역할을 합니다.

 - -p 역시 -v 와 마찬가지로 여러 개를 써줘서 여러 포트를 연결 하는 것이 가능합니다.


 간단히 Docker 를 이용하여 NginX 를 올리는 과정을 알아 봤습니다. 조금 더 추가하면 위의 옵션에서 -v 를 통해 nginx 의 config 를 외부에서 마운트 함으로서 config 파일만 따로 분리하여 관리 하는 것 역시 가능합니다.


즐거운 개발 & 운영 되시기 바랍니다 :D




공유하기 링크
댓글