GCEにDockerでRedisサーバを構築する
- GCE作成
- GCEにローカルからSSH接続
- GCEにDocker CEをインストール
- sudo コマンドなしで docker コマンドを実行できるようにする
- Redisコンテナ起動
- Redisコンテナの動作確認
GCE作成
VM インスタンスの作成と起動 | Compute Engine ドキュメント | Google Cloud
開発環境は一番やすいインスタンスを作ればよろし
マシンタイプ: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内で行う
https://docs.docker.com/engine/installation/linux/docker-ce/debian/#install-using-the-repositorydocs.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 コマンドを実行できるようにする
https://docs.docker.com/engine/installation/linux/linux-postinstall/#manage-docker-as-a-non-root-userdocs.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サーバー構築完了