LoginSignup
3
0

More than 3 years have passed since last update.

Nuxt と Go で Software Architecture の実験 ~2日目 Docker編~

Last updated at Posted at 2019-05-19

はじめに

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/ にアクセスし、前回と同様の画面が表示されていれば、Dockerのsetupが完了です。

image.png

終わりに

次回はmysqlのセットアップをしていこうと思います。

参考

@Sekky0905Ksさん - nuxt-vue-go-chat
@kotaro-dr さん - 【図解】Dockerの全体像を理解する -前編-
@gold-kou さん - いまさらDockerに入門したので分かりやすくまとめます

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0