Upgrading Exment on docker ― 2021年11月06日 19:47
データ管理に、Exmentを使用させて貰ってます。 記事を参考にさせていただき、 php-fpm-alpineベースの dockerコンテナ用のDockerfileを用意し、Exmentを立てていました。
その際、コンテナ内の /var/www/exment をボリュームで永続化していました。困っていたのは、php-fpm-alpineや、Exmentをアップグレードをする時でした。
アップグレードに際して、以下を実施していました。
- DockerfileのFROMを修正
- docker build
- イメージを差し替えて、docker run
上記だと、当たり前ですが、新規にExmentを構築したのと同様に、タイムゾーンや、Databaseを指定する所から始まります。登録していたデータベースを指定できません。
Exmentのマニュアルのアップデート方法は、composer update後、php artisan exment:updateするものです。dockerイメージには、使いづらいです。そこで、一度、別のデータベースで構築し直した後、.envのDB_DATABASEを修正し、もとのデータベースに戻すということをしていました。
何か方法はないかなと思っていた所に、Exmentのマニュアルに docker用のインストールに関する記述がありました。
そのdocker-composeの記述で、.envファイルをバインドする事を発見! これで、困り毎は無事解決しました。簡単な話でした。:D
追記
.env をバインドするだけで良いかと思っていのですが、駄目でした。データ参照は問題なかったのですが、データ登録をした所、"notifiesテーブルに、target_id カラムがない!"という様なメッセージが出て、登録に失敗しました。
コンテナにashで入り、以下を実施して、データ登録も出来るようになりました。
- composer update
- php artisan exment:update
これで管理していくしかないかなぁ。:D
最近のコメント