DockerFile을 통해 이미지 생성하기

Created:

Dockerfile로 node를 사용하여 간단한 웹페이지를 띄워보고자 한다.

Dockerfile 작성

아래와 같이 Dockerfile을 작성한다.

FROM node:11.11.0

USER root

ENV app /data/app

RUN apt-get -y update

ADD index.js $app/
ADD package.json $app/

WORKDIR $app

RUN npm install

CMD ["/usr/local/bin/node", "/data/app/index.js"]

FROM: 베이스 이미지를 가져온다.
USER: 명령을 사용할 유저를 설정한다.
ENV: 환경변수를 정의한다.
RUN: 소프트웨어 설치나 업데이트등의 명령을 수행한다.
ADD: 로컬 파일을 이미지에 복사한다. 위 코드는 node.js를 실행시키기 위해 필요한 최소의 파일만 복사했다.
WORKDIR: RUN, CMD등 명령어가 실행될 디렉토리를 설정한다.
CMD: 컨테이너 내에서 프로세스를 실행시킬 수 있다. 위 코드는 node 프로세스를 실행했다.

Dockerfile 빌드

작성한 Dockerfile의 경로에서 아래와 같은 명령어로 이미지를 생성한다.

docker build -t docker-node-test:latest .

잘 생성 되있는지 확인

docker images

컨테이너 생성및 실행

컨테이너를 생성및 실행

docker run -p 8080:8080 -d docker-node-test

컨테이너가 잘 생성되었는지 확인

docker ps

컨테이너 목록에 docker-node-test가 있다면 제대로 실행된 것이다.


curl localhost:8080

Hello world가 출력된다.

Comments