티스토리 뷰
반응형
Dockerfile
- 간단한 크롤링 코드를 도커 이미지로 만드는 예시이다.
#Dockerfile
FROM node:14-alpine
MAINTAINER ingnoh "ingnoh@tistory.com"
WORKDIR /crawler
COPY ./package*.json ./
COPY ./crawler.js ./server.js
RUN npm install
CMD [ "npm", "start" ]
- FROM: 현재 LTS 버전인 14를 사용하였음.
- WORKDIR: 컨테이너 내부의 워킹 디렉토리 경로를 /crawler로 명시하였음.
- COPY (1): npm install을 위해 package.json을 복사하였음.
- COPY (2): 로컬 PC의 현재 경로에 있는 crawler.js를 컨테이너 내부에 복사할 때 server.js로 이름을 변경
- RUN: npm install을 통해 package.json을 토대로 필요한 종속성을 설치
- CMD: npm start를 사용하여 server.js를 실행
- Dockerfile이 위치한 디렉토리에서 docker build -t my-crawler-test ./ 등으로 docker image를 빌드
참고
- 위의 예시는 두번째 COPY에서 굳이 server.js로 파일 이름을 변경하지만, package.json의 내용과 일치한다면 그럴 필요 없음!
- 덧붙여 CMD의 내용은 node server.js로 해도 무방하지만, 일반적으로는 npm start를 많이 사용한다고 함.
- npm start의 경우 package.json의 scripts.start에 실행할 명령어가 명시되어 있어야 함.
- scripts.start에 실행할 명령어가 명시되지 않은 경우, npm start는 node server.js 명령어를 사용한다고 함.
'Dev. > Docker' 카테고리의 다른 글
[Docker] docker build 중 COPY / ADD에서 특정 파일은 제외하기 (0) | 2021.10.18 |
---|---|
[Docker] m1 macbook no matching manifest for linux/arm64/v8 문제 (0) | 2021.08.05 |
[Docker] Docker API 사용 (1) | 2021.05.10 |
[Docker] logging option (0) | 2021.03.02 |
[Docker] Graceful Shutdown in Docker (1) | 2021.01.11 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Docker
- Linux
- mysql
- JEST
- hashicorp
- Git
- etc
- terraform
- IntelliJ
- Node.js
- kotlin
- eureka
- Java
- Gradle
- dev
- postgresql
- AWS
- Database
- AWS IoT
- Spring Cloud Config
- pgloader
- spring boot
- Puppeteer
- JPA
- react
- Vault
- 코딩테스트
- jQuery
- shell
- javascript
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함