다음의 조건으로 appjs:latest 컨테이너를 빌드하세요.
~/app_build/appjs~/app_build/appjs로 이동한 후 다음 조건에 맞게 컨테이너를 빌드하세요.node:12app.js 파일을 컨테이너 / 디렉토리로 복사node app.js 가 동작되어야 한다.빌드한 컨테이너를 실행하세요.
$ docker run -p 8080:8080 --name appjs -d appjs
$ curl localhost:8080
# 빌드 디렉토리를 생성합니다.
$ mkdir -p ~/app_build/appjs
# 빌드 디렉토리로 이동합니다.
$ cd ~/app_build/appjs
# app.js 파일을 복사합니다.
$ cp /data/ckad/app.js .
# Dockerfile을 생성합니다.
$ cat > Dockerfile <<EOF
FROM node:12 # 베이스 이미지로 node:12를 사용합니다.
COPY app.js /app.js # app.js 파일을 컨테이너 내로 복사합니다.
ENTRYPOINT ["node", "app.js"] # 컨테이너가 실행될 때 node app.js가 실행되도록 설정합니다.
EOF
# Docker 이미지를 빌드합니다.
$ docker build -t appjs:latest .
# 컨테이너를 실행합니다.
$ docker run -p 8080:8080 --name appjs -d appjs
# 애플리케이션이 정상적으로 실행되는지 확인합니다.
$ curl localhost:8080
빌드 디렉토리 생성 및 이동
$ mkdir -p ~/app_build/appjs
$ cd ~/app_build/appjs
mkdir -p ~/app_build/appjs 명령어로 빌드 디렉토리를 생성하고, cd ~/app_build/appjs로 해당 디렉토리로 이동합니다.파일 복사
$ cp /data/ckad/app.js .
cp /data/ckad/app.js . 명령어로 app.js 파일을 현재 디렉토리로 복사합니다.Dockerfile 생성
$ cat > Dockerfile <<EOF
FROM node:12 # 베이스 이미지로 node:12를 사용합니다.
COPY app.js /app.js # app.js 파일을 컨테이너 내로 복사합니다.
ENTRYPOINT ["node", "app.js"] # 컨테이너가 실행될 때 node app.js가 실행되도록 설정합니다.
EOF
cat > Dockerfile <<EOF와 EOF 사이에 Dockerfile 내용을 작성하여 Dockerfile을 생성합니다. FROM node:12는 Node.js 12 이미지를 사용하여 빌드합니다.COPY app.js /app.js는 app.js 파일을 컨테이너 내의 루트 디렉토리에 복사합니다.ENTRYPOINT ["node", "app.js"]는 컨테이너 시작 시 node app.js를 실행하도록 설정합니다.Docker 이미지 빌드
$ docker build -t appjs:latest .
docker build -t appjs:latest . 명령어로 현재 디렉토리에 있는 Dockerfile을 기반으로 appjs:latest 이미지를 빌드합니다.컨테이너 실행 및 애플리케이션 확인
$ docker run -p 8080:8080 --name appjs -d appjs
$ curl localhost:8080
docker run -p 8080:8080 --name appjs -d appjs 명령어로 8080 포트를 매핑하여 백그라운드에서 appjs 컨테이너를 실행합니다.curl localhost:8080 명령어로 애플리케이션이 정상적으로 실행되는지 확인합니다.