본문 바로가기

SERVER/Synology NAS

[Docker] Synology Nas의 Docker에 NodeJS를 이용한 API Server 배포

반응형

2020/11/01 - [NodeJS] 윈도우 환경에서 NodeJS 설치 및 API 테스트

 

[NodeJS] 윈도우 환경에서 NodeJS 설치 및 API 테스트

NodeJS 설치 및 테스트는 윈도우 환경에서 진행되었다. NodeJS 설치 https://nodejs.org/ko/ Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org 나 같은 경우에는..

zzangwoo.tistory.com

  먼저 NodeJS를 이용하여 API Server를 만드는 코드는 위의 글을 참고하면 된다.


NodeJS 이미지 다운로드

Node.js 버전은 latest를 선택해주었다.

 

컨테이너 생성

# 이미지 -> 해당 이미지 더블클릭

# 고급설정

  '자동 재시작 활성화' 기능은 서버가 비정상적으로 종료되었을 때 자동으로 시작하게 만드는 기능이지만 나같은 경우에는 중요한 서버를 올리는게 아니기 때문에 활성화시키지는 않았다.

  시놀로지 실제 폴더와 서버의 가상 디렉토리를 연동시켜줄거다. 도커에서 컨테이너는 가상환경이기 때문에 만약 데이터를 생성하거나 수정한 후에 컨테이너를 지우게 되면 데이터가 모두 날아가기 때문에 볼륨을 설정해준다. 

  Server에 접근하기 위한 포트를 설정한다. 나같은 경우에는 내부포트, 외부포트에 대한 개념이 부족하기 때문에 모두 같은 포트를 설정해주었다. 보안을 위해서라면 다른 포트를 사용하는 것이 좋다.

  모든 설정이 끝나고 컨테이너를 생성하면 컨테이너 페이지에서 확인해볼 수 있다.

 

JS파일 및 NPM 모듈 볼륨에 저장

 

포트포워딩

  시놀로지 메인페이지에 있는 IP와 생성한 컨테이너 포트를 이용하여 포트포워딩을 진행한다.

# IP 확인

 

# 본인 공유기 접속 후 포트포워딩

  나 같은 경우에는 iptime을 사용하지 않고 sk broadband 공유기를 사용하기 때문에 http://192.168.35.1/ 에 접속해서 진행했다. 포트포워딩 진행 방법에 대해서는 설명을 하지는 않겠다.

 

컨테이너 실행

# 볼륨에 넣은 파일 가상 디렉토리에서 확인

  해당 컨테이너의 터미널 → bash 창을 열어서 시놀로지 볼륨에 넣은 파일들이 제대로 가상 디렉토리에 적용되어있는지 확인한다.

# index.js 실행

  node 명령어를 이용하여 index.js를 실행한다. (참고로 밑에 있는 Running on ~~ 이 문구는 접속 확인을 위해 남긴 로그다.)

 

배포 확인

  [시놀로지 도메인]:[nodejs 배포 포트] 를 이용하여 접속해서 확인할 수 있다.

 

 

반응형