まずは、Dockerエンジンが動くGCEインスタンスを立ち上げます。こちらのQiita記事を参考にしました。
gcloudとかインストールしてないので、ブラウザ上のGCPコンソールを開いて操作しました。叩くコマンドは一つだけ。(GCEインスタンスさえできればよいので、「docker-machineを切り替える」操作はスルーしました)
<user>@cloudshell:~ (<project>)$ docker-machine create -d google --google-project <project> --google-tags 'http-server,https-server' --google-zone us-central1-a --google-machine-type "f1-micro" windesign-web
Running pre-create checks...
(windesign-web) Check that the project exists
(windesign-web) Check if the instance already exists
Creating machine...
(windesign-web) Generating SSH Key
(windesign-web) Creating host...
(windesign-web) Opening firewall ports
(windesign-web) Creating instance
(windesign-web) Waiting for Instance
(windesign-web) Uploading SSH Key
Waiting for machine to be running, this may take a few minutes...
Detecting operating system of created instance...
Waiting for SSH to be available...
Detecting the provisioner...
Provisioning with ubuntu(systemd)...
Installing Docker...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
Checking connection to Docker...
Docker is up and running!
To see how to connect your Docker Client to the Docker Engine running on this virtual machine, run: docker-machine env windesign-web
<user>@cloudshell:~ (<project>)$
次は、生成されたGCEインスタンスにSSHログインします。対象のGCEインスタンスの「SSH」ボタンをクリックすると、別のウィンドウが開かれます。
<user>@windesign-web:~$ sudo docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b7f0
Built: Wed Mar 11 01:25:58 2020
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b7f0
Built: Wed Mar 11 01:24:30 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
<user>@windesign-web:~$ docker-compose
The program 'docker-compose' is currently not installed. To run 'docker-compose' please ask your administrator to install the package 'docker-compose'
<user>@windesign-web:~$
dockerコマンドを実行できることがわかります。
が、docker-composeコマンドは使えないようです。ので、Docker Composeをインストールします。
<user>@windesign-web:~$ sudo -i
root@@windesign-web:~# curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
root@@windesign-web:~# chmod +x /usr/local/bin/docker-compose
root@@windesign-web:~# exit
logout
<user>@windesign-web:~$ sudo docker-compose version
docker-compose version 1.6.2, build 4d72027
docker-py version: 1.7.2
CPython version: 2.7.9
OpenSSL version: OpenSSL 1.0.1e 11 Feb 2013
これで、Dockerが動くGCEインスタンスができました。次はリバースプロキシ(nginx)のコンテナを動かすことになります。(下記の手順で進める想定)
- Dockerエンジンが動くGCEインスタンス(以下、新サイト)の作成 ←今回はここ
- リバースプロキシ・コンテナを起動
- 新サイトにアクセスすると既存サイトに転送されるように
- SSL設定を
- windesign.workドメインを新サイトの外部IPアドレスに紐づけ(ここまでで、現状と同じ挙動になるはず)
- WordPressコンテナを起動し、バックアップからリストア
- リバースプロキシの転送先をWordPressコンテナに切り替え
- Grafana、InfluxDBコンテナを起動
- リバースプロキシの転送先に、GrafanaコンテナとInfluxDBコンテナを追加