Go言語のフレームワークであるBeegoを使ったWebアプリケーション開発を体験してみましょう。
アプリケーション実行基盤は、Dockerを使います。
今回は、環境構築編のため、Beegoのスタートアップ画面が表示されるところまで作業を行います。
学習記事
前提条件
Docker, docker-composeがインストールされていること
Dockerの使い方は、こちらを参考にしてください。
プロジェクトの作成
プロジェクトの作成を行いましょう。
1 2 3 4 5 |
mkdir golang-web cd golang-web mkdir app touch Dockerfile touch docker-compose.yml |
golang-webは、任意のディレクトリ名でOKです。
最初に、docker-compose.ymlを作成しましょう。
1 2 3 4 5 6 7 8 9 10 11 |
version: '3' services: golang: build: . ports: - "8080:8080" container_name: golang command: sh -c "cd app && bee run" volumes: - ./app:/go/src/github.com/app |
Beegoのプロジェクトは、「bee run」コマンドで起動します。
この後、「app」プロジェクトを作成しますので、cdコマンドでappディレクトリに移動後、bee runコマンドを実行して、Beegoを起動しています。
続いて、Dockerファイルを作成します。Dockerファイルにはアプリケーションの構成要素を記述します。
1 2 3 4 5 6 7 8 9 10 11 12 |
# ベースとなるDockerイメージ FROM golang:latest # ソース格納先 ENV SRC_DIR=/go/src/github.com/ # ワーキングディレクトリの指定 WORKDIR $SRC_DIR # 依存モジュールをインストール RUN go get github.com/beego/bee RUN go get -u github.com/astaxie/beego |
dockerコンテナをビルドして、docker imageを作成しましょう。
1 |
docker-compose build |
Beegoプロジェクトは、「bee new <アプリケーション名>」で作成できます。
dockerコンテナ内でこのコマンドを実行したいので、terminal上で以下のコマンドを実行してください。
1 |
docker-compose run golang bee new app |
このappプロジェクトが、docker-compose.ymlに記述したappです。
また、docker-compose.ymlに「– ./app:/go/src/github.com/app」の記述をしており、ローカルのappディレクトリとコンテナのappが共有されるようにしています。
dockerコンテナを起動しましょう。
1 |
docker-compose up |
Beegoは、デフォルトでは、「localhost:8080」で起動しますので、ブラウザからアクセスしてみてください。

次回
次回は、Beegoでアプリケーションを作成していきましょう。
コメントを残す
コメントを投稿するにはログインしてください。