ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • docker : step1) Application의 Container를 만들고 실행하기
    Full-Stack 2023. 6. 3. 02:51
    반응형
    SMALL

    필요사항

    docker : https://docs.docker.com/get-docker/ 에서 설치 가능합니다.

    git : https://git-scm.com/ 이곳을 참고하세요.

    IDE 또는 텍스트 에디터 : Visual Studio Code 추천

    container 와 image에 대한 이해

     

    docker Overview

    docerk를 사용하는 이유 ? 개발자들은 개발 환경과 실행 환경 배포 환경을 생각해야 한다. 이것은 얼마나 큰 스트레스인지 모른다. 내 컴퓨터에 Windows OS를 설치하고 Python, MySQL, django 등을 이용하여

    icesnake.tistory.com

     

     

    Application 받기

    1. 다음 명령어를 사용하여 시작하기 repository를 호스트 컴퓨터에 복사합니다.

    git clone https://github.com/docker/getting-started.git

     

    2. 복사된 저장소의 내용을 봅니다. getting-started/app 디렉토리 안에는 package.json과 두 개의 하위 디렉토리(src 및 spec)가 표시되어야 합니다.

     

    Application의 container image 빌드

    conatiner image를 빌드하려면 Dockerfile 사용해야 합니다. Dockerfile은 명령 스크립트를 포함하는 파일 확장자가 없는 단순한 텍스트 기반 파일입니다. docker 스크립트를 사용하여 conatiner image 빌드합니다.

     

    1. app 디렉터리에서 package.json 파일과 동일한 위치에 Dockerfile이라는 파일을 만듭니다. 

    2. Dockerfile에 다음 내용을 입력하고 저장합니다.

    # syntax=docker/dockerfile:1
       
    FROM node:18-alpine
    WORKDIR /app
    COPY . .
    RUN yarn install --production
    CMD ["node", "src/index.js"]
    EXPOSE 3000

    3. app 디렉토리로 이동하고 다음 명령어를 입력합니다.

    docker build -t getting-started .

    docker build 명령은 Dockerfile 사용하여 컨테이너 이미지를 빌드합니다. Docker 많은 "Layer" 다운로드하는 것이 보입니다. 이것은 node:18-alpine 이미지에서 시작하겠다고 빌더에 지시했기 때문입니다. 그러나 호스트(내 컴퓨터) 해당 파일이 없기 때문에 Docker docker hub로부터 이미지를 다운로드했습니다. 

     

    Docker 이미지를 다운로드한 Dockerfile 명령에의해 애플리케이션을 복사했고 yarn 사용하여 애플리케이션의 종속성(모듈) 설치했습니다. CMD 명령문은 이미지에서 컨테이너를 시작할 실행할 기본 명령을 지정합니다.

     

    -t 옵션은 이미지에 태그를 지정합니다. 이미지를 식별할 있는 네이밍을 부여한 것입니다. 이미지 이름을 getting-started 지정했으므로 컨테이너를 실행할 해당 이미지를 참조할 있습니다.

     

    docker build 명령의 끝부분의 '.' docker 현재 디렉터리에서 Dockerfile 찾아야 한다고 알립니다.

     

    app container 시작하기

    다음의 간단한 명령어를 사용하여 'getting-started' image가 호스트에 잘 설치되었는지 확인합니다.

    docker images

    1. 이제 이미지가 있으므로 container에서 애플리케이션을 실행할 수 있습니다. 방금 만든 이미지의 이름을 지정하여 docker run 명령을 실행하고 컨테이너를 시작합니다.

    docker run -dp 3000:3000 getting-started

     -d 옵션을 사용하여 “detached” 모드(백그라운드에서)에서 컨테이너를 실행합니다. 또한 -p 옵션을 사용하여 호스트의 포트 3000번 컨테이너의 포트 3000번을 매핑합니다. 포트를 매핑하지 않으면 어플리케이션에 접속할 수 없습니다.

     

    2. 웹 브라우저에서 http://localhost:3000 접속합니다. 다음 이미지와 같은 어플리케이션이 표시되었다면 성공입니다.

    3. 항목을 한,두개 추가하고 예상대로 작동하는지 확인해봅시다. 항목을 완료로 표시하고 제거할 수 있습니다. 프런트엔드가 백엔드에 항목을 잘 저장하고 있습니다. 

     

    터미널에서 다음 docker ps 명령을 실행하여 컨테이너를 나열합니다. getting-started image를 사용하고 포트 3000번에서 실행 중인 컨테이너가 표시되어야 합니다.

    docker ps

     

     

     

    다음 : docker step2) Application 업데이트 하기

    반응형
    LIST

    'Full-Stack' 카테고리의 다른 글

    SQL(Structured Query Language)  (0) 2023.11.17
    데이터베이스(Database) 개론  (0) 2023.11.16
    docker : step 2) Application 업데이트 하기  (1) 2023.06.03
    Introduction  (0) 2023.06.03
    docker Overview  (0) 2023.06.03
Designed by Tistory.