반응형
간단한 Dockerfile 작성
# Dockerfile
- FROM
FROM : Docker Base Image (기반이 되는 이미지, <이미지 이름>:<태그> 형식으로 설정)
ex>
FROM node
node를 사용해서 이미지를 생성.
- WORKDIR
WORKDIR : "RUN", "CMD", "ENTRYPOINT" 명령이 실행될 작업 디렉터리
ex>
WORKDIR /app
작업 디렉터리를 /app으로 설정.(추후 모든 소스 코드도 여기에 생성)
- COPY
COPY : 파일 복사
ex>
COPY . /app
맨 처음 .은 Dockerfile이 있는 폴더를 의미함(host file system)
두번째 .은 그 파일을 저장해야 되는 내부 디렉터리를 의미(image/container file system)
Dockerfile 이 있는 폴더에 있는 모든 내용을 컨테이너 내부에 있는 /app 폴더로 모두 복사.
만약 /app 폴더가 존재하지 않는 경우에는 이미지와 컨테이너에 생성.
- RUN
RUN : Shell Script 또는 명령을 실행
ex>
RUN npm install
Dockerfile이 있는 폴더에 있는 파일을 이미지에 복사한 후 이미지에서 해당 명령을 실행
COPY 구문이 실행 된 뒤 npm install을 실행
- CMD
CMD : 컨테이너가 실행되었을 때 명령이 실행
ex>
CMD ["node", "server.js"]
CMD 구문은 배열로 작성
이미지를 기반으로 컨테이너가 생성될 때마다 컨테이너 내부에 node 명령을 사용하여 server.js를 실행
- EXPOSE
EXPOSE : 호스트와 연결할 포트 번호를 설정한다.
ex>
EXPOSE 80
Dockerfile 작성 마지막에 구문 설정
우리의 로컬 시스템에 특정 포트를 노출하고 싶을 경우 사용
반응형
'CentOS > Docker' 카테고리의 다른 글
[Docker]Docker build 기본 순서 (0) | 2022.06.08 |
---|---|
[Docker][k8s]kubespray - kubernetes 설치 (0) | 2022.06.04 |
[Docker][k8s]minikube - helloworld (0) | 2022.06.03 |
[Docker]빌더 패턴 (0) | 2022.06.02 |
[Docker]CMD vs ENTRYPOINT (0) | 2022.05.25 |