ソフトウェア開発備忘録

ソフトウェアエンジニアの開発備忘録

GCEにDockerでRedisサーバを構築する

GCE作成

インスタンスの作成と起動  |  Compute Engine ドキュメント  |  Google Cloud Platform

開発環境は一番やすいインスタンスを作ればよろし

マシンタイプ:f1-micro(vCPU x 1、メモリ 0.6 GB)
CPU プラットフォーム:Intel Broadwell
OS:debian-9
ゾーン:asia-northeast1-a

GCEにローカルからSSH接続

gcloud compute ssh [INSTANCE_NAME]

これだけという衝撃の楽さ!!!
秘密鍵:/Users/[user]/.ssh/google_compute_engine.
公開鍵:/Users/[user]/.ssh/google_compute_engine.pub.
が初回に作られるはず

GCEにDocker CEをインストール

当然SSH接続しているGCE内で行う
docs.docker.com

古いDockerをアンインストール

sudo apt-get remove docker docker-engine docker.io

aptパッケージ更新

sudo apt-get update

HTTPS経由でリポジトリを使用できるように必要なパッケージをインストールする

sudo apt-get install \
     apt-transport-https \
     ca-certificates \
     curl \
     gnupg2 \
     software-properties-common

公式GPGキーを追加

curl -fsSL https://download.docker.com/linux/$(. /etc/os-release; echo "$ID")/gpg | sudo apt-key add -

指紋9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88の最後の8文字を検索して、指紋のあるキーがあることを確認

sudo apt-key fingerprint 0EBFCD88

リポジトリ追加

sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/$(. /etc/os-release; echo "$ID") \
   $(lsb_release -cs) \
   stable"

Docker CEをインストール

sudo apt-get update
sudo apt-get install docker-ce

バージョン確認

docker -v

Docker version 17.06.2-ce, build cec0b72
こんな感じで出力されるはず、これでインストール完了

sudo コマンドなしで docker コマンドを実行できるようにする

docs.docker.com
docker グループ作成

sudo groupadd docker

docker グループにユーザー追加

sudo usermod -aG docker $USER

GCEからログアウトしてログインし直せばsudoコマンドなしでdockerコマンドが実行できるはず

Redisコンテナ起動

optにredisのデータをマウントするのが良さげ

cd /opt
docker run --name redis -d -p 6379:6379 -v /redis/data:/data redis redis-server --appendonly yes

こんだけ
latestバージョンのredisコンテナが、ポート6379にホスティングされ、/redis/dataにデータは永続化される
dockerはほんと便利

Redisコンテナの動作確認

redis-toolsをインストール

sudo apt-get install redis-tools

redisサーバーに ping 投げてみる

redis-cli ping

PONG を出力されたらおk
これでGCEへのRedisサーバー構築完了