環境 : Dockerコンテナ(mysql, Wordpress, nginx)
WordPressのブログの記事を執筆していると次のようなエラーが表示されました.
どうしてこのエラーが表示されたのかわかりませんが,おそらく画像をアップロードするときに失敗していたのでそれが原因ではないかと思います.
早速サーバー内に入ってDBのDockerコンテナを再起動しようとしましたが,INTERNAL ERROR: cannot create temporary directory!
とエラーが表示されました.違うコンテナで試してみても同じエラーだったので,どうやらDBのDockerコンテナに問題があるのではなく,サーバーかDocker自体に問題があるようです.
とりあえず,$ free -m
で今のメモリの状況を確認し,$ echo 1 > /proc/sys/vm/drop_caches
でキャッシュの解放をして空きを増やしました.
再度,コンテナを起動しようとしましたが,同じエラーのままでした.
解決方法
色々調べてこちらのstack overflowにたどり着きました.
どうやらコンテナとイメージを削除すればよさそうです.
(20/01/23追記)下記のコマンドでコンテナとイメージを全て削除できますが,まずはDockerに残ってしまている不要なものを削除しましょう(ahsgw様にコメントでご教授いただいたリンクが参考になります).ちなみに僕は,それでもできなかったので,下記コマンドを実行しました.
$ docker rm -f $(docker ps -a -q)
$ docker rmi $(docker images -q)
その後,$ docker-compose up -d
すると動きました.
DBのコンテナはマウントしていましたが,サーバから操作しないだろうと思いwordpressのコンテナをマウントしていませんでした.
イメージ消したら中身のデータ消えちまうんじゃねぇか!?
と恐る恐る実行しました.
結果は,記事などのデータはDBに保存しているので,しっかり残っていましたが,Wordpressプラグインなどがやはり消えてしまっていました.
全部消えなかっただけよかったですが,マウントしておこう.....