開発目的のために、私はDockerコンテナにWordPressのインストールをセットアップする必要があります。
チュートリアル を見つけて従ってください。
すべてのセキュリティと最適化により、すべてがうまく機能しています。しかし、チュートリアルはWordPress 4.5.2に基づいています。そして、すべてがセットアップされたとき、私はWordPressをアップグレードすることができません。もちろん私は自分でDockerfileを修正してWordPress 4.7を入手しましたが、将来のアップグレードはできなくなります。
また、プラグインをインストールする必要がある場合は、自分のボリュームにフォルダを作成できないため失敗します。フォルダをmkdir -p
すると、すべてうまく機能しています。
ここに GitHub すべてのファイルがあります。
だから私はすべてがリンクされていると思うが、それを直すことはできない。何か案が ?
エラーの説明が示すように、問題は権限です。このチュートリアルに基づいて、nginxはwww-data
ユーザーの下で実行されていますが、WPフォルダーはdeployer
が所有しています。 $ WP_ROOTの所有権をwww-data:www-dataに変更すると、WPを更新できることがわかります。私はセキュリティについては驚くべきことではないので、もっと良い方法があるかもしれませんが、これはそれを更新するのに役立ちます。チュートリアルのコメントで、彼らはこのセキュリティの変更を意図的に行ったので、おそらくそれは良い考えではありません。その詳細レベルについてはわかりません。
この変更に加えて、dockerインスタンスの電源を切ってもこのアップデートは持続しません。コンテナを再起動するたびにWPインスタンスを更新する必要があります。 WPが必要に応じてファイルを更新できるようにWPファイルをボリュームに入れて、それらを永続化することは意味があります。これはDBが存続するためにも意味があり、とにかくアップグレードの一部です。しかし、セキュリティに関するこれらの決定は私の給料水準を超えています。