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 | 31 |
Tags
- 코어 자바스크립트
- docker compose
- XMLHttpRequest 예제
- cloudflare certbot
- nodejs myslq2
- cloudflare Origin Server
- XMLHttpRequest with promise
- cloudflare ssl
- docker compose setting
- nodejs DB
- JavaScript
- cloudflare
- docker image deploy
- dockerignore example
- 로스트아크 open API
- Dockerfile setting
- 로스트아크 API
- Raspberry Pi docker install
- XMLHttpRequest example
- cloudflare Origin Server CA
- nodejs mariaDB
- 코어자바스크립트 정리
- docker image 배포
- Raspberry Pi docker-compose install
- docker compose example
- docker
- 코어자바스크립트
- dockerignore setting
- Dockerfile example
- cloudflare DNS
Archives
- Today
- Total
오늘
Dockerfile 본문
Dockerfile
도커 이미지를 구성하는데 필요한 정보들을 가지고 있으며, Dockerfile을 통해 도커 이미지를 생성할 수 있다.
실제 파일명을 "Dockerfile"로 작성해야 한다.
# FROM : 베이스가 될 도커 이미지 선택
# WORKDIR : 설정 이후 사용될 명령어에 대한 작업 디렉토리를 설정
# [ RUN, CMD, ENTRYPOINT, COPY, ADD, Dockerfile, WORKDIR, Dockerfile ]
# COPY : 파일 복사 COPY <src>... <dest>
# RUN : 도커 이미지 실행시 수행할 command
# VOLUME : 마운트 지점 생성
# EXPOSE : 도커 이미지에서 오픈할 포트
# CMD : 컨테이너를 생성할때 실행되는 명령어, 여러번 작성해도 마지막으로 선언한 부분만 동작
그 외 자세한 설정값들은 공식문서를 참조 https://docs.docker.com/engine/reference/builder/
Dockerfile reference
docs.docker.com
++++ Dockerfile example
1. nodejs [ API Server ] Image를 빌드할 때 사용하는 Dockerfile
더보기
# node:18-alpine : node v18이 기본적으로 설치되어 있다.
# https://hub.docker.com/_/alpine
FROM node:18-alpine
# 작업 디렉토리 설정
WORKDIR /app/apiserver
# COPY <src>... <dest>
COPY . .
# package.json 에 저장된 의존성 패키지 설치
RUN npm install --silent
# 도커 이미지 내부에서 pm2를 사용하기 위해 설치
RUN npm install pm2 -g
# VOLUME : 서버의 로그를 저장할 디렉토리를 마운트
VOLUME /app/apiserver/logs
# 2087 포트 오픈
EXPOSE 2087
# pm2 설정파일을 사용하여 서버 실행
CMD [ "pm2-runtime", "start", "myloaService.config.js", "env_development" ]
2. react [ Front ] Image 를 빌드할 때 사용하는 Dockerfile
더보기
# node:18-alpine : node v18이 기본적으로 설치되어 있다.
# https://hub.docker.com/_/alpine
# setting stage "builder"
FROM node:18-alpine AS builder
# set working directory
WORKDIR /app
# copy package.json
COPY package.json package.json
# install node modules
RUN npm install --production --legacy-peer-deps
# src files
COPY . .
# create production build
RUN npm run build
# deploy base image NGINX
FROM node:18-alpine
RUN npm install -g serve
# copy build file from builder stage
COPY --from=builder /app/build /app/react/build
# set working directory
WORKDIR /app/react
EXPOSE 3000
CMD [ "serve" "-l" "3000" "-s" "build"]
'docker' 카테고리의 다른 글
| docker compose (0) | 2023.05.14 |
|---|---|
| .dockerignore (0) | 2023.05.14 |
| docker Image 배포 (0) | 2023.05.06 |
Comments