LoginSignup
1
1

More than 5 years have passed since last update.

DockerでWordpressを使い、UIDとディレクトリを設定する方法

Posted at

概要

Dockerを使ってWordpress環境を構築する際に、WordpressのURLと永続化用ディレクトリのユーザーIDを設定したくて作成した設定です。私自身は、Wordpressは全くの初心者でここ最近必要に迫られてセットアップしたもので、ひょっとしたら動作に不都合があるかもしれません(起動までは確認)。

カスタマイズイメージを作成し、起動する

Dockerfile

wordpress:4.7-php7.1-apacheをベースに作成。

FROM wordpress:4.7-php7.1-apache
RUN groupmod -g 1000 www-data \
 && usermod -u 1000 www-data \
 && chown -R www-data:www-data /usr/src/wordpress
$ docker build -t mywordpress .

解説

wordpress:4.7-php7.1-apacheではディレクトリのユーザーがwww-dataになっているので、ユーザーwww-dataのUIDおよびGIDを自分が使いたいID(ここでは1000:1000)にセットしています。
また、初回起動時に/usr/src/wordpressの内容がweb公開用ディレクトリ(後述)にコピーされるため、それらのファイルのIDをセットし直しています。

起動方法

初期設定では、WordpressのURLは http://example.com/ のようなトップディレクトリになっていますが、 http://example.com/wp/ のようにサブディレクトリにセットアップして起動してみます。
ここではwp-mysqlがMySQLのコンテナインスタンスです(設定は標準なので省略)。

docker run -d --restart always --name wp-app \
  -p 8080:80 \
  --workdir /var/www/html/wp \
  --link wp-mysql \
  -v /path/to/wp:/var/www/html/wp \
  -e WORDPRESS_DB_HOST=wp-mysql \
  -e WORDPRESS_DB_USER=wordpress \
  -e WORDPRESS_DB_PASSWORD=mypasswd \
  -e WORDPRESS_DB_NAME=wordpress \
  mywordpress

解説

WORKDIRにWordpressのファイルが展開されるので、--workdirオプションで使いたいディレクトリを指定すればできるみたいです。/var/www/htmlがWebルートなので/var/www/html/wpとしています。
また、/path/to/wpをWORKDIRにバインドして永続化しています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1