Server

도커 사용법[2]

Raconer 2023. 4. 16. 23:47
728x90

기본 설정

테스트용 Project

    // getting-started > app 의 프로젝트에서 진행을 합니다.
    git clone https://github.com/docker/getting-started.git

1. Dockerfile 생성

프로젝트에 Dockerfile만들어서 Docker Image를 만드는 설정파일? 실행 파일을 작성합니다.

  # syntax=docker/dockerfile:1
  FROM node:18-alpine // node 기반의 이미지를 생성(ubuntu, centos, adoptopenjdk/openjdk11 etc...)
  WORKDIR /app  // RUN,CMD,ENTRYPOINT에서 설정한 실행 파일이 실행될 디렉토리 위치를 지정한다.
  COPY . . // 파일을 이미지에 추가하는 역할을 한다.
  RUN yarn install --production // RUN은 FROM에서 설정한 이미지 위에서 명령어를 실
  CMD ["node", "src/index.js"] // 컨테이너가 시작되고 가장 처음 실행될 명령어를 지정
  EXPOSE 3000 // EXPOSE는 호스트와 연결할 포트 번호를 설정

2. 이미지 생성

    # Docker Image Build (Image Name : getting-started) "." DockerFile을 찾아야 하는 위치
     docker build -t getting-started .

3. Container 생성

    # Docker Image를 생성
    # -d : 백그라운드에서 실행 
    # -p : 포트 설정 3000:3000 = 3000포트로 들어오면 3000포트로 넘긴다.
    # getting-started : 실행할 이미지 이름

    docker run -dp 3000:3000 getting-started

4. ETC

프로젝트 내용이 변경 되면 Image를 다시 빌드 해서 Container를 생성한다.

   1. docker stop <the-container-id> // 콘테이너 정지 
   2. docker rm <the-container-id> // 콘테이너 삭제
       * docker rm -f <the-container-id> : 강제 삭제
   3. docker run -dp 3000:3000 getting-started // 콘테이너 재생성

참고

Docker 공식 문서
Dockerfile 참고 문서
DockerFile 공식 문서

728x90

'Server' 카테고리의 다른 글

[Jmeter]부하 테스트_Window 기준  (0) 2023.05.11
Docker 공부 하면서 주로 사용하는 명령어  (0) 2023.04.16
도커 사용법[1]  (0) 2023.04.16
Was VS Ws  (0) 2023.04.16
이미지 최적화  (0) 2023.04.16