이미지와 연관된 모든 명령어는 docker image 로 시작합니다.
docker image pull [image:태그]
docker image pull node:20.13.1
만약 태그를 생략한다면 노드의 최신 버젼이 기본 값이 됩니다.
docker image ls
docker image rm -f node:20.13.1
prune : 한글로 가지치기 라는 뜻으로 정리하는 명령어 입니다
* 이름이 이나 태그가 없는 이미지를 삭제합니다
docker image build 깃허브 임시 레포
이미지를 확인하면 <none> 표시를 확인 할 수 있는데 이를 Dangling이라고 정의 합니다.
docker image prune [opt]
docker image prune -f -a
-f 프롬포트 확인 없이
-a 모든 파일 정리
도커 파일은 yaml로 프로젝트 루트 파일에 작성이 된다는 것은 앞선 포스트에서 언급을 했었습니다
# base image
ARG NODE_VERSION
FROM node:${NODE_VERSION}
# 환경변수
ENV SEVER_PORT = 3000
# 이미지 빌드 간 현재 디렉토리 설정
WORKDIR /src
# 이미지 빌드간 복사할 파일
COPY ./src/
# 이미지 빌드 시 실행할 명령어: 종속성 설치
RUN npm run ci
# 컨테이너 실행시 수행할 명령어: express 서버 실행
ENTRYPOINT ["npm", "run", "start"]
ARG
도커 파일에서는 빌드 시작 시점에서 함수처럼 변수로 해당값을 변수로 설정 할수있는데요? 이를 ARG라고 하며 --build -arg라는 키워드로 외부에서 초기화 가능합니다.
FROM
베이스 이미지를 지정하는 자리이며, 이미지 빌드에 스케치 자리입니다.
빌드하고자 하는 이미지의 기반하는 기술중 가장 고수준의 이미지를 선정하는거 강추 입니다.
ubuntu 이미지에 node를 직접 설치하는 것보다, node 이미지를 바로 사용하는 것을 추천.ENV
환경변수를 지정할때 사용합니다
WORKDIR
이미지를 빌드간의 현재 디렉토리를 말합니다.
COPY
이미지 빌드 사이에 복사할 파일들을 말합니다.
RUN
이미지 빌드시 실행할 명령어입니다
ENTRYPOINT
컨테이너 실행시 수행할 명령어입니다