[하루째] 최소한의 구성으로 docker-compose에서 Kubernetes에 배포하는 연구회

개요



표제의 공부회를 실시한 1일째의 내용을 기재합니다. 전일의 내용은 이하의 정리 페이지를 봐 주세요.

【정리】 최소한의 구성으로 docker-compose에서 Kubernetes에 배포하는 연구회

하루에 할 수있는 일


  • Node.js (Express) 응용 프로그램 만들기
  • Dockerfile 만들기
  • docker-compose.yml 만들기

  • 1일차 내용



    간단히 Node.js에서 응용 프로그램을 만들었습니다.

    ■ 애플리케이션 폴더 구성


    그들을 컨테이너에서 작동하도록 Dockerfile을 만들었습니다.
    WORKDIR에서 현재 및 폴더를 만들고 폴더에 express 아래의 파일을 복사합니다.

    ■ Dockerfile
    # ベースイメージを指定
    FROM node:14.5-alpine3.12
    
    # 環境変数設定
    ENV NODE_ENV="development"
    
    # 作業ディレクトリ作成&設定
    WORKDIR /src
    
    COPY ./express /src
    
    RUN npm install
    
    CMD npm run start
    
    

    그리고 마지막으로 Dockerfiledocker-comopse 에서도 동작하게 했습니다.GitLabContainer Registry 로 푸시하기 위해 image 를 설정하고 latest 라는 태그도 설정하고 있습니다. 사실은 푸시할 때에 이미지명이나 태그를 설정하는 것이 좋지만, 이번은 결정타로 image 로 설정하고 있습니다.

    ■ docker-compose.yml
    version: '3'
    services:
      app:
        build:
          context: ./app      # Dockerfile保存場所
        image: registry.gitlab.com/tamoco-mocomoco/k8s-test/express:latest
        ports:                          # ポート接続
          - 3000:3000
    

    하루를 돌아보며


    Express 는 견본이 많기 때문에 빨리 할 수 ​​있었습니다. Dockerfile 에서 docker-compose 도 익숙해지면 어렵지 않고 buildcontext조차 주의하면 괜찮았습니다.

    고민한 곳으로서는 폴더의 구성으로 조금 폴더를 정리하기도 했습니다. 이번 경우는 Express 이외에도 어플리케이션이 늘어난 것을 생각해 app 부하에 Express 라고 하는 구성으로 하고 있습니다.

    만약 다른 어플리케이션이 늘어난 경우는 app 부하에 다른 폴더를 작성해 별도로 Dockerfile를 작성하는 것으로 구성을 알기 쉽게 된다고 생각합니다. 복수의 어플리케이션이 된 시점에서 Dockerfile 자체의 파일명도 어플리케이션마다 바꾸거나, docker-compose.ymlcontextDockerfile
    이 근처에 대해서는 확장할 기회가 있었을 경우에, 또 기사로서 투고시켜 주시면 좋겠습니다.

    좋은 웹페이지 즐겨찾기