250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 트랜잭션
- wecode
- pm2
- bcrypt
- 노드
- on_delete
- Jest
- 장고초기세팅
- javascript
- async/await
- status code
- 스코프
- docker
- CORS
- django westagram
- JWT
- 자바스크립트
- nodeJS
- Django
- typescript
- TypeError: this.boardRepository.createBoard is not a function
- node
- 호이스팅
- 프로미스
- rebase
- westagram
- crud2
- OSI7계층
- manytomanyfield
- 실행 컨텍스트
Archives
- Today
- Total
될때까지
((기업협업8)) Node.js로 진행했던 프로젝트 Docker 컨테이너에 넣기 본문
728x90
Docker란?
.Dockerfile 만들기
# 어떤 이미지로부터 새로운 이미지를 생성할건가?
FROM node:16.16.0
# 워킹 디렉토리 설정
WORKDIR /usr/src/app
# Docker를 실행할때 패키지에 대한 정보를 이미지로 저장한다
COPY package*.json ./
# npm install 명령어로 디펜던시를 설치하기
RUN npm install
# 현재 경로에 있는 모든 파일을 이미지로 저장하겠다.
COPY . .
# PORT 연결하기
EXPOSE 4000
# 컨테이너에서 실행될 명령어
CMD ["npm", "start"]
- FROM node:16.16.0
- 어떤 이미지를 사용해서 빌드할것인지 명시 -> node:16.16.0 이미지를 base image로 사용하겠다.
- WORKDIR /usr/src/app
- 이미지안에 애플리케이션 코드를 넣기 위한 디렉터리 생성
- COPY package*.json ./
- node:16.16.0 이미지에는 node.js와 npm은 이미 설치되었다. 종속성만 설치하면 된다.
- RUN npm install
- 컨테이너 생성하기 전에 수행될 명령어
- npm install을 사용해 package.json에 명시된 종속성(디펜던시)을 다운로드한다.
- COPY . .
- 첫번째 .은 컨테이너로 복사하려고 하는 파일 or 폴더를 지칭 -> 루트 경로의 모든 파일들 복사하겠다.
- 두번째 .은 컨테이너에 복사되는 경로 -> WORKDIR에서 지정한 경로로 복사하겠다.
- 도커 이미지안에 애플리케이션의 소스 코드를 집어넣는 코드
- EXPOSE 4000
- 4000번 포트로 실행하겠다.
- CMD ["npm", "start"]
- 컨테이너 생성 후 도커가 실행될 때 수행할 명령어
- npm start 명령어로 서버를 구동시킨다.
.dockerignore 파일 생성하기
도커 이미지에 로컬 모듈과 디버깅 로그를 복사하는 것을 막음으로써 이미지 내에서 설치한 모듈이 덮어쓰이지 않게 한다.
node_modules
npm-debug.log
이미지 빌드
docker build . -t <your username>/node-web-app:tag
생성한 이미지 파일 조회하기
docker images
이미지 실행하기
docker run -p 49160:8080 -d <your username>/node-web-app
컨테이너 아이디보기
docker ps
컨테이너 로그보기
docker logs --follow 도커아이디
참고한 포스팅
728x90
'프로젝트 > wecode : 기업협업' 카테고리의 다른 글
Node.js로 만든 프로젝트 AWS EC2 배포하기(PM2) (0) | 2022.10.19 |
---|---|
((기업협업7)) node.js pm2 (0) | 2022.09.11 |
위코드 인턴쉽 회고록 (0) | 2022.09.09 |
((기업협업6)) node.js에 swagger array 연달아 배치하기 (0) | 2022.09.06 |
((기업협업6)) node.js에 swagger 적용하기 (0) | 2022.09.06 |