LoginSignup
3
1

More than 3 years have passed since last update.

GCP上にオンラインメモ帳をつくる

Last updated at Posted at 2019-11-09

手数をかけずにオンラインメモ帳環境をつくってみる。

環境

  • インフラ
    • GCE(GCP)
    • docker-compose
  • アプリケーション
    • HackMD
    • PostgreSQL(MySQLも可)

今回はGCPの無料枠でやってみるのでGCP公式の手順に沿って実施する。

GCEインスタンスの作成

GUIでポチポチしていくだけなのでかんたん。

左上のメニュー「≡」からCompute Engineを選択し、VMインスタンスを作成する。
スクリーンショット 2019-11-09 15.32.11.png

今回は無料枠なのでMicroを選択。

スクリーンショット 2019-11-09 15.35.42.png

ブートディスクはContainer-Optimized OSのstableで一番新しいものを選択する。
=> なぜかうまく行かなかったのでContainer-Optimized OS, 69-10895.385.0 stableで作り直した。

スクリーンショット 2019-11-09 15.35.05.png

SSHでログインしDockerの起動

作成後、ターミナルからSSHでログインする。
ログイン情報は以下から確認できる。
https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_35884_d1dea3e4-69c3-698e-1873-32da56d70c46.jpeg

SSHでログイン後、docker-composeをセットアップ。

docker run docker/compose:1.24.0 version

HackMDのdockerリポジトリをclone。

git clone https://github.com/hackmdio/docker-hackmd.git
cd docker-hackmd/

80番ポートで接続できるようにdockerホストの80ポートをコンテナの3000ポートにフォワード。

docker-compose.yml
  ~略~
  app:
    ports:
      # 3000を80に変更
      # - "3000:3000"
      - "80:3000"
  ~略~

docker-composeコマンドのエイリアスを作成する。

echo alias docker-compose="'"'docker run --rm \
     -v /var/run/docker.sock:/var/run/docker.sock \
     -v "$PWD:$PWD" \
     -w="$PWD" \
     docker/compose:1.24.0'"'" >> ~/.bashrc

反映。

$ source ~/.bashrc

docker-composeで起動。

$ docker-compose up -d
Starting docker-hackmd_database_1 ... done
Starting docker-hackmd_app_1      ... done

これで以下のURLにアクセスすればCodiMDのページが!

http://インスタンスの外部IP/
スクリーンショット 2019-11-09 17.28.21.png

(番外編)ポートの穴あけ

あえてdocker-compose.ymlを編集せずに3000番ポートに穴をあけてみるパターンも試してみた。(試してみたかっただけ)

インスタンスの「ネットワーク詳細を表示」を選択。

https___qiita-image-store.s3.ap-northeast-1.amazonaws.com_0_35884_44cc243a-3922-f01a-9efe-e85519b71204.jpeg

左のファイアウォールルールから「ファイアウォールルールを作成」を選択。

スクリーンショット 2019-11-09 16.33.34.png

以下のように3000番ポートを許可するルールを作成する。

項目 入力内容
名前 allow-3000
ターゲットタグ allow3000-server
IP範囲 0.0.0.0/0
プロトコルとポート tcp:3000

スクリーンショット 2019-11-09 16.37.45.png
スクリーンショット 2019-11-09 16.37.55.png

GCEインスタンスに戻り、編集を選択する。

スクリーンショット 2019-11-09 16.40.16.png

ネットワークタグに先程作成した「allow3000-server」を入力して保存。

スクリーンショット 2019-11-09 16.40.50.png

これでポートを指定すればCodiMDのページが表示される。

http://インスタンスの外部IP:3000/

3
1
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
1