localhost接続なのに遅い・・・
WordPressがどんなものか味見してみたかったのでDocker for macを使用してDocker環境の中にWordpressをインストールしたのだがほとんど使っていなった。
というのも接続が遅かったからだ。
ログインやその他のページ遷移を行った時に1分近くも待たされる。。
ネットワークを介さないのでシステム的な問題のはずだ。
Docker上で動いているWordpressの高速化を行うにした。
原因
ググってみると似たような現象に対する記事が見つかった。
どうやらDocker for macのボリュームマウントに問題があるらしい。
この記事の中で対処方法も書いてあったので今回は自分の環境に合わせて対処を行った。
対処方針
Volumeマウントの停止
原因から考えれば「ボリュームマウントの設定をオフにしてコンテナを作り直せばいい」が1つ問題がある。
テーマやプラグイン、メディアライブラリのデータなどファイルで管理しているものが消えてしまうということだ。
原因で紹介した記事では、docker-compose.yamlのなかのマウント設定を更新の必要があるものだけにし、残りはDockerfileないでビルド時だけ上げるようにしているようだ。
私の場合、味見として数記事テストで作っていただけだし設定周りもテーマとプラグインのインストールくらいしかやっていなかったので消えてしまってもいいという判断のもと
という流れで行った。
ボリュームマウント設定のコメントアウト
まずdocker-compose.ymlのファイルを変えた。
コメントアウトするだけ。
version: '3.3' services: wordpress: image: wordpress:latest depends_on: - db ports: - "18080:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress WORDPRESS_DB_NAME: wordpress #volumes: <-コメントアウト # - ./html:/var/www/html<-コメントアウト db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress volumes: db_data:
コンテナの作り直し
docker-compose.ymlを書き換えたのち、以下のコマンドを実行
docker-compose up -d
テーマとプラグインの再インストール
以前行ったのと同じことをやるだけ。以下の記事を参考にしてテーマとプラグインを再インストール。
結果
図っていたわけではないけれど体感的には - 対処前: 2,30秒〜1分ほどかかっていた - 対処後: 10秒以内にレスポンスが帰ってくる
やってよかった!!
Docker実践ガイド 第2版 (impress top gear)
- 作者:古賀政純
- 発売日: 2019/02/18
- メディア: 単行本(ソフトカバー)