カテゴリー
Docker Wordpress

PHPのバージョンを上げたい件(まとめ)

結局、1インスタンスですべてのDockerコンテナを稼働させることに

色々と試行錯誤した結果、マシンタイプe2-microを1インスタンス立ち上げ、7つのコンテナを稼働させることにしました。(nginx-proxy、letsencrypt-nginx-proxy-companion以外の5コンテナは仮想ホストとして稼働)

試したところ、メモリ1GBのe2-microで問題なさそうでした。f1-microを2インスタンス使ってとか考えてたんですが、下記の点から有利と考えました。(月額料金は、414円/月から652円/月と少し高くなりますが…)

  • リバースプロキシとSSL対応のコンテナで楽をするには、一つのDockerマシン上で動かす必要がある。
  • 仮想ホスト用コンテナを起動するだけで、動的にリバースプロキシに参加(SSL対応含めて)してくれる。
    • マシンタイプをe2-mediumまで上げれば、かなりの仮想ホストを稼働できそう。

以下、マシンタイプごとの月額料金を示しておきます。

マシンタイプ月ごとの料金(レートは、2020/5/24現在)スペック備考
f1-micro$3.88 (¥414.44)CPU:0.2
MEM:0.6GB
1インスタンスだけなら無料枠内
g1-small$13.8 (¥1472.35)CPU:0.5
MEM:1.7GB
e2-micro$6.11 (¥652.54)CPU:0.25
MEM:1GB
e2-small$12.23 (¥1305.08)CPU:0.5
MEM:2GB
e2-medium$24.46 (¥2610.16)CPU:1
MEM:4GB
共有タイプのGCEのみ

ハマった点のいくつか

WordPressの設定を変更できない

解決した手順は、以下の通り。

  1. docker-compose.ymlの環境変数(environment)に「WORDPRESS_SCHEME=https」を追加
  2. docker-compose up -d で初回起動(初回起動がキモ。)
    • WORDPRESS_SCHEME環境変数は初回起動時に作られるvolumeに反映され、2回目以降の起動に対しては反映されない。
  3. WordPressの一般設定のWordpressアドレスとサイトアドレスが「https://~」になっていることを確認
    • 「http://」のままだったら、WORDPRESS_SCHEME環境変数が反映されていないので、(volumeを削除して)最初からやり直す。
  4. UpdraftPlusプラグインをインストール
  5. 移行元サイトのUpdraftPlusバックアップをアップロード
    • ウチではDropboxに毎日転送される設定にしています。
    • ここで、http 413エラーが出て失敗。解決は、こちら
  6. アップロードが完了したら復元
    • 「古いphpでバックアップされた」などと表示されますが、気にせず継続。
  7. ダッシュボードのサイトヘルス画面が「良好」になっていることを確認

UpdraftPlusバックアップのアップロードに失敗する

原因は、nginx-proxyにあった模様。デフォルトでは、アップロードサイズが10MBに制限されている。

  1. docker-compose.yml(nginx-proxy)の、services/nginx-proxy/volumesセクションに下記の1行を追加
    • $PWD/nginx-proxy/my_proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro
  2. ./nginx-proxyディレクトリにmy_proxy.confファイルを作成し、下記の1行を記述(アップロードサイズ上限を100MBにする)
    • client_max_body_size 100m;

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA