이번 시간은 바로 전 포스트에서 작업한 노드js보드 앱을 도커 형식의 이미지로 만들어 컨테이너에서 실행되는 앱으로 변환해 본다.
-------------------------------------------------------------------------------------------------------------------------------
1. 먼저 기존 노드js보드를 작업한 PC(노드js16.14.0)에 윈도우용 도커 데스크탑을 설치한다. 설치 과정의 핵심은 아래와 같다.
-------------------------------------------------------------------------------------------------------------------------------
2. 위 에서 설치 및 기본 실행 후 상단의 톱니바퀴 아이콘으로 Settings 화면으로 진입한다.
- General 의 실행 시 Docker Dashboard 오픈을 체크 해제하고(실행속도때문), WSL2 based engine 부분이 제대로 체크 되어 있는지 확인 한다.(아래)
-------------------------------------------------------------------------------------------------------------------------------
3. 이제 기존노드js보드 프로젝트소스를 포함하는 도커 이미지를 만들고, 컨테이너로 실행해 본다.
- 말은 거창하지만, 실제로 Dockerfile만 만들면 도커 이미지를 만들고, 컨테이너로 실행할 수 있다.(아래는 도커 파일)
FROM node:16.14.0
WORKDIR /nodejsboard
#COPY package*.json . # node_moducles폴더까지 소스를 모두 복사하기 때문에 필요없다.
#RUN npm install # 위 내용 때문에 굳이 npm install 할 필요가 없다.
COPY . .
EXPOSE 3000 # 기존 노드js앱은 80 포트로 작동하나, 도커 이미지를 컨테이너에서 작동 시킬 때 포트를 3000으로 변경했다.
CMD ["npm", "run", "start"] # 노드 js 앱 실행 명령은 똑같다.
- 도커 이미지를 만든는 빌드 명령어 : docker build . -t nodejsboard (아래 docker images 로 기존 도커 이미지가 있는지 확인 후 빌드실행)
- nodejsboard 도커 이미지 생성 후(이미지 크기가 1G정도된다) 확인 및 도커 컨테이너 실행 : docker run -d -p 3000:80 nodejsboard (아래)
- 위에서 사용한 도커 명령어는 아래 사이트에 잘 설명 되어 있다. 이제 부터 우리는 도커데스크탑을 이용해 위에서 작업한 내용을 좀더 자세히 알아 보도혹 한다.(컨테이너 실행, 정지, 삭제 모두 CMD명령어 대신 GUI화면에서 사용가능하다.)
-------------------------------------------------------------------------------------------------------------------------------
4. 도커 데스크탑을 사용해 위에서 생성한(실행한) 컨테이너 확인 하기
- Containers 메뉴에 실행된 컨테이너 이름과 ID 및 포트가 보인다.(아래)
- 위에서 포트 옆의 링크 아이콘을 클릭하면, 웹브라우저에서 컨테이너로 실행한 3000번 포트의 노드js보드 앱을 확인 할 수 있다.(아래)
- 위에서 도커데스크탑에서 실행 중인 컨테이너를 클릭하고, Files를 보면, 폴더 구조를 확인할 수 있다.(아래 nodejsboard 가 있는지 확인)
Ps. 위에선 [노드js앱을 컨테이너기반 도커용 앱으로 실행하기] 라는 주제로 앱 소스를 도커 이미지로 만들어 도커 컨데이너에서 실행해 보았고(Dockerfile 파일사용 + docker build + docker run 명령사용),
앞으로 [노드js앱을 컨테이너 배포 플랫폼인 쿠버네티스에 배포하고 실행하기] 라는 주제로 도커데스크탑에 내장된 kubernetes 메뉴를 이용하여 위에서 만든 도커 이미지를 쿠버네티스로 배포하고 실행하도록 만들어 본다.(deployments.yaml 파일사용 + kubectl apply 명령사용)
자바스크립트 DOM프로그래밍+외부API프로그래밍 수업자료 정리 (0) | 2024.01.09 |
---|---|
노드js앱을 컨테이너 배포 플랫폼인 쿠버네티스에 배포하고 실행하기 (1) | 2024.01.02 |
구글파이어베이스를 사용해 노드js 웹서비스 만들기_5/5 (1) | 2023.12.29 |
구글파이어베이스를 사용해 노드js 웹서비스 만들기_4/5 (0) | 2023.12.28 |
구글파이어베이스를 사용해 노드js 웹서비스 만들기_3/5 (0) | 2023.12.26 |
댓글 영역