Nuxt와 Go에서 Software Architecture 실험 ~ 2 일째 Docker 편 ~

소개



2일째라고 하면서 전회의 일기로부터 1주간 서 있었습니다. Midterm 시즌이므로 어쩔 수 없었습니다 (변명). 이번에도 @Sekky0905Ks 씨의 커밋 을 거슬러 올려 주셔서 사용되고 있는 기술 하나 하나를 정리하였습니다.

서버 사이드는 공부중의 몸이므로 실수등 있으면 보고 받을 수 있으면 기쁩니다. 그럼 시작하겠습니다.

Docker 설정



전회는 빌드 된 nuxt의 파일 (index.html)을 표시하는 static server를 시작하는 곳까지 구현했습니다.

이번에는 Docker를 도입하겠습니다. 왜 Docker를 사용해야 하는지 의문을 가지는 분도 있다고 생각합니다만, 단적으로 말하면, Docker를 이용하는 것으로 프로그램의 실행 환경을 관리해, 공동 개발자와 실행 환경을 공유하기 쉽게 하는 장점이 있습니다. 자세한 내용은 "【도해】Docker의 전체상을 이해한다 -전편-"을 참조하십시오.

먼저 컨테이너의 구성 정보를 정의한 Dockerfile을 만듭니다. 자세한 명령이 신경이 쓰이는 분은 "이제 Docker에 입문했기 때문에 알기 쉽게 정리합니다" 를 참고해 주세요.

docker/Dockerfile
FROM golang:1.12

# root を docker内の/go/src/github.com/hideUW/nuxt_go_templateにコピー
ADD ./ /go/src/github.com/hideUW/nuxt_go_template

# nuxt_go_template ディレクトリに移動
WORKDIR /go/src/github.com/hideUW/nuxt_go_template

다음으로, Docker 컨테이너내에서의 처리를 docker/docker-compose.yaml 안에 기술합니다.

docker/docker-compose.yaml
version: '3'

services:
  app:
    build:
      context: ./
      dockerfile: docker/Dockerfile
    volumes:
      - ./:/go/src/github.com/hideUW/nuxt_go_template
    command: bash -c 'cd /go/src/github.com/hideUW/nuxt_go_template/server && go run *.go'
    ports:
      - "8080:8080"
    container_name: app

마지막으로 $ docker-compose up -d를 실행하고 docker-compose.yml에서 컨테이너를 생성하고 시작합니다.

http://localhost-8080.com/로 이동하여 이전과 비슷한 화면이 표시되면 Docker 설정이 완료됩니다.



끝에



다음에 mysql 설정을 해 나갈 것입니다.

참고



@Sekky0905Ks 씨 - nuxt-vue-go-chat
@ 코타로-dr 씨 - 【도해】Docker의 전체상을 이해한다 -전편-
@gold-kou 씨 - 이제 Docker에 입문했기 때문에 알기 쉽게 정리합니다.

좋은 웹페이지 즐겨찾기