티스토리 뷰

먼저, Docker image를 직접 만들어서 container에 실행하기 위해서 실습용 폴더(sample01, src)와 파일(app.js, Dockerfile)을 아래와 같이 생성한다.

 

─ sample01
  ├─ src
  │  └─ app.js
  └─ Dockerfile

 

Dockerfile

FROM node:10

WORKDIR /app
COPY . /app

ENV NAME=sample01

CMD ["node", "src/app.js"]

FROM node:10 --> base image를 명시한다. (node 10 버전이 설치된 image를 사용)

WORKDIR /app --> mkdir, cd 의 명령어라고 생각하면 된다. root에 app 폴더를 생성하고 이후의 옵션 명령은 /app 폴더에서 실행된다.

COPY . /app --> sample01 폴더의 내용을 /app으로 복사한다. COPY . . 로 사용해도 결과는 동일하다.

ENV NAME=sample01 --> process.env 로 접근할 수 있는 변수를 설정

CMD ["node", "src/app.js"] --> docker container가 실행될 때 수행되는 명령어를 설정한다.

 

app.js

console.log('Hello Docker : ' + process.env.NAME);


sample01 폴더에서 docker build 명령어로 image 를 만들고

 

  ❯ docker build --tag=sample01 .

  ❯ docker image ls
  REPOSITORY                                      TAG                 IMAGE ID              CREATED               SIZE
  sample01                                            latest              9889bffaac7a        3 seconds ago        899MB
  node                                                   10                   64c810caf95a        4 weeks ago          899MB

 

docker run 명령어로 실행을 하면 아래와 같은 결과를 확인 할 수 있다.

 

  ❯ docker run --name=node_sample sample01
  Hello Docker : sample01

  ❯ docker container ls -all
  CONTAINER ID        IMAGE                COMMAND            CREATED               STATUS                         PORTS               NAMES
  8d02dfecd642        sample01            "node src/app.js"   12 seconds ago      Exited (0) 11 seconds ago                       node_sample

 

정말 간단하게 docker image를 만들고 container를 실행하는 방법을 확인했다.

다음에는 node 서버를 실행하는 방법을 정리해보려고 한다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함