dockerで立ち上げたwordpress,MySQLを更新する話

パソコン関係

動機

dockerで立ち上げてたwordpressとMySQLのバージョンが古かったので、docker imageのバージョンをアップしました。
バージョン変更前と後は下記の通りです。

PHP 7.3 -> 8.0
MySQL 5.7 -> 8.0

docker compose

docker composeは下記の通りです。
①docker compose down
②# -> の所を書き換える
③docker compose build
④docker compose up -d
で更新できます。

結果として問題なく出来ましたが、一応検証してから変更しましたのでそれについて書きます。

version: "3.8"
services:
  wp_db:
    container_name: wp_db
    image: mysql:5.7 # -> 8.0
    volumes:
      - ./wp_db:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root-pass
      MYSQL_DATABASE: wordpress
      MYSQL_USER: user
      MYSQL_PASSWORD: pass
  wordpress:
    container_name: wordpress
    depends_on:
      - wp_db
    image: wordpress:php7.3-apache # -> php8.0-apache 
    # 単体起動用
    ports:
      - "8000:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: wp_db:3306
      WORDPRESS_DB_USER: user
      WORDPRESS_DB_PASSWORD: pass
      WORDPRESS_DB_NAME: wordpress
    volumes:
       - ./wordpress/html:/var/www/html
       - ./php/php.ini:/usr/local/etc/php/conf.d/php.ini

検証

バージョン変更後にエラー発生ぐらいだといいのですが、データが破損しないか自信が無かったのでバックアップを取って検証してから行いました。

今回は2つバックアップをとりました。
① docker compose のファイルごと圧縮してバックアップをとります
② VPS のスナップショットを保存します

同じものを取るのでは無く、違う種類のを取った方がいいと思います。
検証は下記の手順で行いました。

・①で取ったバックアップをローカルで復元出来るか確認する
・PHPとMySQLを別々でバージョンの変更をする
・それぞれで問題なく動作するか確認する
・本番環境で変更する

不足などあるかもですが、とりあえずこれで無事更新できました。
以上です。

タイトルとURLをコピーしました