Dockerで構築したWordPress環境にデータをアップロードしようとしたときに、容量制限のためにできませんでした。
デフォルトで設定されている2MB制限を外す方法には下記の手順でできます。
- コンテナIDを調べる
- Dockerのコンテナ内でphp.iniを用意
- php.iniを編集
- 再起動
詳しくまとめていきますね。
コンテナIDを調べる
ターミナルにてコンテナIDを調べます。
$ docker ps
すると下記のように情報が表示されるはずです。
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a02eafea490b wordpress:latest "docker-entrypoint.s…" 44 hours ago Up 4 minutes 0.0.0.0:3001->80/tcp xxxx_wordpress_1
837d66995774 mysql:5.7 "docker-entrypoint.s…" 44 hours ago Up 4 minutes 0.0.0.0:3306->3306/tcp, 33060/tcp xxxx_mysql_1
もし情報が表示されない場合は稼働中のコンテナがないせいですので、該当のコンテナを起動してからdocker ps
を実行してください。
表示された情報のなかのIMAGE
欄にwordpress
と記載がある行のCONTAINER ID
を利用します。
上記の例ではa02eafea490b
です。
Dockerコンテナ内でphp.iniを用意
まずターミナルでDockerコンテナ内に移動します。
$ docker exec -it コンテナID /bin/bash
先ほどの例だとコンテナIDがa02eafea490b
だったので、コマンドは以下のようになります。
$ docker exec -it a02eafea490b /bin/bash
次にphp.ini
ファイルがある場所に移動します。
$ cd /usr/local/etc/php
ここでlsコマンドにてどんなファイル等があるか確認してみます。
$ ls
conf.d php.ini-development php.ini-production
開発環境用、本番環境用にphp.ini
ファイルの雛形が用意されています。
php.ini-development:開発環境用
php.ini-production:本番環境用
2ファイルの違いは、主にエラーを表示するかどうかです。php.ini-development
を利用すると開発時に必要なエラー情報を出してくれるので、状況に合わせて選択してください。
今回はphp.ini-production
を選択し、ファイルを複製してphp.ini
を作成します。
$ cp php.ini-production php.ini
php.iniを編集
vimにてファイルを編集します。
$ vi php.ini
ただし、このときにbash: vi: command not found
と表示されてvimが使えないことがあります。
そのときは、mac環境であれば下記コマンドにて必要なものをインストールできます。
$ apt-get update
$ apt-get install vim
途中で下記のようにきかれたらY
で進んでOKです。
After this operation, 36.9 MB of additional disk space will be used.
Do you want to continue? [Y/n]
その他OS環境の場合は、下記の記事を参考にしてください。
https://qiita.com/YumaInaura/items/3432cc3f8a8553e05a6e
vimで編集ができるようになったら、下記2点を編集します。
- upload_max_filesize
- post_max_size
php.iniファイルはかなり長いので、/upload_max_filesize
などと検索するとやりやすいです。
2MBから50MBに変更したい場合は、該当部分を下記のように書き換えて保存します。
upload_max_filesize = 50MB
post_max_size = 50MB
Dockerを再起動
php.iniはコンテナが立ち上がるときに読み込まれて環境に反映されるものなので、起動中のコンテナを再起動してください。
すると2MBだった制限が設定した値に変わっているはずです。
コメント