新年明けてだいぶ立ちましたが、あけましておめでとうございます。今年もKUSANAGIをよろしくお願いします。
さて、しばらく KUSANAGI Run on Docker(以下RoD)の情報をお届けしていませんでした。そこで、2022年のRoDに追加した機能について、まとめて紹介いたします。
nginx
nginx 1.20と1.21 のサポート終了にともない、--nginx120
、--nginx121
オプションを削除しました。その代わり、nginx 1.22と1.23 を使用するための、 --nginx122
、--nginx123
オプションを追加しました。デフォルトで使用されるバージョンは、 nginx 1.23となります。
MariaDB
MariaDB 10.3 および 10.4 のサポート終了にともない、-mariadb10.3
、--mariadb10.4
オプションを削除しました。新たに、MariaDB 10.7、10.8、10.9 のリリースにともない、-mariadb10.7
、--mariadb10.8
、--mariadb10.9
オプションを追加しました。ただし、これらバージョンは、サポート期間が2023年までと短いので注意してください。
各バージョンの詳細なサポート期間はこちらを参照ください。
Concrete CMS対応
Concrete CMS のバージョンアップによる構築時の不具合に対応しました。Concrete CMSは、PHP 8.0、8.1に対応しています。
Drupal 対応
Drupalもバージョンが上がり、つい先日Drupal10がリリースされました。RoDでは、provisionサブコマンドに以下のオプションを指定することで、Drupalを構築できます。
--drupal
--drupal7
--drupal8
--drupal10
--drupal
を指定すると、drupal9 が構築されます。
Drupal7/8 は、Drupalのこのバージョンと対応しているPHP 7.4がサポート終了しているため、新規インストールは推奨しません。drupal9/10は、PHP 8.0 以上で使用してください。
バックアップ/リストアの不具合修正
kusanagi-docker config backup
、kusanagi-docker config restore
コマンドに不具合があり、DBデータやcontentsディレクトリの内容のバックアップとリストアが行えませんでした。現在ではその問題を修正し、問題なくバックアップ/リストアが可能になっています。
バックアップとリストアを使用した、他環境への移行が容易になるので、Gitなどとうまく組み合わせて運用してください。
マルチアーキテクチャ対応
現在 RoDで作成しているイメージは、以下のアーキテクチャに対応しています。
- linux/386
- linux/amd64
- linux/arm/v6
- linux/arm/v7
- linux/arm64
- linux/ppc64le
- linux/s390x
動作確認は、x86_64アーキテクチャのみ行っています。arm64アーキテクチャ用のイメージを作成していますが、Mac M1やAWSのarm64インスタンスでは動作していません。これは、Docker Desktop for Mac や linuxのarm64版が arm64/v8 アーキテクチャで動作しているためです。現在、arm64/v8 のでの動作確認を進めています。
なお、Docker Desktop for Macは、x86_64版のコンテナイメージが動作するため、Mac OS X 上でRoDは問題なく動作します。
2023年の展望
今年の開発項目として、以下のことを考えています。
PHP 8.2対応
先日、PHP 8.2がリリースされました。それにともない、php8.2.1 のコンテナイメージを作成しています。しかし、WordPress単体での動作確認はできていますが、プラグインやテーマはPHP 82に対応していないものもまだ多く含まれます。また、Concrete CMS や Drupal もPHP 8.2に対応したというリリースがされていません。そのため、--php82
オプションを用意していません。
今後、PHP 8.2 イメージの更新と合わせて、オプションは追加する予定です。
podman 対応
podmanは、RHEL8移行のRHELベースのディストリビューションで標準のコンテナ実装です。podman はdocker互換コマンドが用意されていますが、docker-compose は現行のままでは使用できない状態です。
podman には、PodやSecretというKubernetesと同様の機能を使用できるため、これらを使用した実装を考えています。
Movable Type 対応
ご存知の通り、KUSANAGI9 では MovableType に対応しました。RoDでも、MovabeType 構築できるよう検討中です。
おわりに
2022年も、ミドルウェアのバージョンアップを中心に、各種CMSの対応や不具合の対応などを行ってきました。
RoDは、Github上で公開されているオープンソースのソフトウェアです。こちらでも新しい機能を検討中ですが、機能追加の提案や、不具合の報告などは、issueにて受け付けております。何かあれば、issue にしてもらえるとありがたいです。
今年も、KUSANAGI Runs on Docker をよろしくお願いします。