【모던 기술 습득에의 길】Docker에서의 Nuxt.js/Vuetify 개발 환경 구축에 의한 신속하고 효율적인 프로젝트 작성

개요


  • 이번에는 Docker를 이용하여 Nuxt.js/Vuetify 개발 환경을 신속하게 구축한다.
  • 아래의 2개의 프레임워크를 이용함으로써 신속하고 효율적으로 세련된 화면을 작성할 수 있다.

  • Nuxt.js (Vue.js 애플리케이션 프레임 워크)

  • Vuetify (재질 디자인 프레임 워크)


  • 결론


  • 다음의 2개의 커멘드로, Nuxt.js/Vuetify의 Docker 개발 환경이 작성·기동되어, 신속하게 개발을 개시할 수 있다.
  • docker-compose build
  • docker-compose up -d

  • 최종 폴더 구성은 아래와 같습니다.
  • .
    ├── README.md
    ├── node_modules
    ├── nuxt.config.js
    ├── package.json
    ├── src
    └── yarn.lock
    └── .dockerignore
    └── Dockerfile
    └── docker-compose.yml
    
  • Nuxt.js/Vuetify를 이용함으로써 아래와 같은 화면을 빠르고 효율적으로 작성할 수 있다.



  • 환경


  • Mac OS X 10.14.5
  • Node.js v11.11.0
  • yarn 1.17.3
  • yarn을 미도입의 경우, 여기 로 인스톨 하는지 npm로의 치환을 실시한다.

  • Docker 19.03.1
  • docker-compose 1.24.1
  • Docker·docker-compose 미도입의 경우, 여기 를 참고에 인스톨 해 둔다.


  • 절차



    병아리 프로젝트 만들기 및 소스 폴더 정리


  • 다음 명령을 입력하여 다음 작업을 수행합니다.
  • Nuxt.js/Vuetify의 병아리 프로젝트 만들기
  • 소스 폴더 만들기 및 구성
  • 소스 패스의 명기

  • # フォルダ作成 & 移動
    mkdir -p ~/work; cd $_
    # 雛形プロジェクト作成
    yarn create nuxt-app t_o_d_project
    # 作成段階で確認される質問には、下記で対応。
    # UI frameworkの部分で「Vuetify」を選択
    ? Project name t_o_d_project
    ? Project description My first-rate Nuxt.js project
    ? Author name xxxxxxx
    ? Choose the package manager Yarn
    ? Choose UI framework Vuetify.js
    ? Choose custom server framework None (Recommended)
    ? Choose Nuxt.js modules axios
    ? Choose linting tools eslint
    ? Choose test framework None
    ? Choose rendering mode Universal (SSR)
    # 作成後、プロジェクトフォルダへ移動
    cd ~/work/t_o_d_project
    # ソースフォルダ(src/)作成 & ディレクトリ移動・整理
    mkdir -p src; mv pages/ store/ static/ plugins/ components/ assets/ layouts/ middleware/ $_
    
  • 상기의 작업에 의해, 이하의 디렉토리 구성이 되어 있는 것을 확인한다.
  • .
    ├── README.md
    ├── node_modules
    ├── nuxt.config.js
    ├── package.json
    ├── src
    │   ├── assets
    │   ├── components
    │   ├── layouts
    │   ├── middleware
    │   ├── pages
    │   ├── plugins
    │   ├── static
    │   └── store
    └── yarn.lock
    
  • 확인 후 프로젝트 바로 아래의 nuxt.config.js 내용을 아래와 같이 수정한다.

  • nuxt.config.js
    export default {
      mode: 'universal',
      srcDir: 'src',   // こちらの1行を追加して、ソースディレクトリパスを明記。
    

    Docker 관련 파일 만들기


  • 작성한 병아리 프로젝트를 Docker 환경에서 시작하기 위해, 다음의 3개의 파일을 프로젝트 바로 아래에 작성한다.
  • Dockerfile
  • docker-compose.yml
  • .dockerignore

  • # Dockerfileとdocker-compose.ymlと.dockerignoreの作成
    touch Dockerfile docker-compose.yml .dockerignore
    
  • 상기의 작업에 의해, 다음의 최종 디렉토리 구성이 되어 있는 것을 확인한다.
  • .
    ├── README.md
    ├── node_modules
    ├── nuxt.config.js
    ├── package.json
    ├── src
    └── yarn.lock
    └── .dockerignore
    └── Dockerfile
    └── docker-compose.yml
    
  • 작성한 3개의 파일의 내용을 아래와 같이 한다.

  • Dockerfile
    # 開発環境用
    FROM node:10.17.0-alpine as dev-env
    # コンテナソースパス定義
    ENV APP_HOME /app
    # 必要物インストール・不要物削除
    RUN apk update --no-cache && \
        apk add --no-cache vim && \
        rm -rf /var/cache/apk/*
    # コンテナソースパス作成・移動
    WORKDIR ${APP_HOME}
    # Nuxt Host定義
    ENV NUXT_HOST 0.0.0.0
    # パッケージインストール
    COPY package*.json ./
    COPY yarn.lock ./
    RUN yarn
    # コンテナ内へのソースディレクトリのコピー
    COPY . .
    # Port公開
    EXPOSE 3000
    # 開発サーバー立ち上げ
    CMD [ "yarn", "dev"]
    

    docker-compose.yml
    version: '3.7'
    services:
      web:
        # コンテナ指定
        build:
          context: .
          target: dev-env
        ports:
          - 3000:3000
        restart: always
        # ローカルプロジェクトと同期
        volumes:
          - .:/app
          - /app/node_modules
    

    .dockerignore
    node_modules
    .nuxt
    .DS_Store
    

    이미지 작성, 시작, 확인


  • 상기 관련 파일을 기술 한 후, 다음의 커맨드 중에서 Nuxt 환경의 Docker 이미지를 작성 및 기동한다.
  • # Dockerfileがあるパスへ移動
    cd ~/work/t_o_d_project
    # イメージの作成
    docker-compose build
    # イメージの起動
    docker-compose up -d
    
  • 이미지가 시작된 후 브라우저에서 localhost:3000에 액세스하여 아래 화면이 표시되는지 확인하십시오.



  • 참고


  • Docker로 다중 환경 만들기
  • Rails & Nuxt.js의 Docker 환경을 alpine 이미지로 구축
  • 좋은 웹페이지 즐겨찾기