유틸리티 컨테이너
package.json파일이 필요함(번거로울 수 있음)유틸리티 컨테이너 구축
자체 이미지 필요
Dockerfile 추가
FROM node:14-alpine
WORKDIR /app
# CMD npm init
$] docker run -it [파일경로] node-util
패키지 이름 입력, 나머진 디폴트 사용
완료되면 package.json 파일이 호스트머신에 생성됨
ENTRYPOINT 활용
docker run에서 이미지 이름 뒤에 명령을 추가하면 CMD의 명령이 실행됨. docker run의 이미지 이름 뒤의 명령이 ENTRYPOINT의 명령으로 덮어쓰여짐docker run의 이미지 이름 뒤의 명령에 추가됨.-it 사용 등... 명령 프롬포트에서 입력해야할 명령어가 많음..Docker Compose 활용
version: "3.8"
services:
npm:
build: ./
stdin_open: true
tty: true
volumes:
- ./:/app
$] docker compose run npm init run : 여러 서비스가 있는 경우 서비스 이름으로 단일 서비스를 대상으로 지정할 수 있음run에는 up과 down이 없음. 대신 컨테이너가 시작되어 작업 수행 후 명령이 완료되면 종료됨run 명령으로는 컨테이너가 자동으로 제거되지 않음--rm 추가해야 컨테이너 종료 후 자동으로 제거됨init : ENTRYPOINT 다음에 추가되어야 할 명령을 입력한 것