dockerでWordPressをサクっと立ち上げたときの備忘録

dockerはインストール済みとします。

構築したいdocker仕様

  • dockerでWordPressを立ち上げたい。
  • WordPressを動かすwebサーバー、dbも用意する
  • WordPressのデータはホストOS側の ./htdoc に保存する
  • MariaDbのデータはホストOS側の ./mariadb に保存する
  • 外部には80番ポートのみ公開し、DBのポートは公開しない

docker-compose.yml 作成

以下のDocker Composeファイルを使用して、WordPressとMariaDBをDockerコンテナで起動し、データの永続化を行うことができます。

パスワードやフォルダやポート構成などは適時環境に合わせて書き換えてください。

例えば、以下のところは

./mariadb:/var/lib/mysql
./htdocs:/var/www/html

/hoge/xxx/mariadb:/var/lib/mysql
/hoge/xxx/htdocs:/var/www/html

こんな感じで書き換えればOKです。


version: '3'
 
services:
  db:
    image: mariadb
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress
    volumes:
      - ./mariadb:/var/lib/mysql
 
  wordpress:
    depends_on:
      - db
    image: wordpress
    ports:
      - "80:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - ./htdocs:/var/www/html

このDocker Composeファイルにより、MariaDBとWordPressのコンテナが作成されます。
MariaDBのデータは、ホスト側の./mariadbディレクトリに永続化され、
WordPressのデータは、ホスト側の./htdocsディレクトリに永続化されます。

このファイルをdocker-compose.ymlという名前で保存し、以下のコマンドを使用してDockerコンテナを起動します。

docker-compose up -d

WordPressには、ブラウザから

  • http://localhost
  • http://ipアドレス

でアクセスできます。

試しにWordPress一通りの設定をすまし、適当にプラグインをインストールしたところ、
確かに /home/xxx/htdocs/wp-content/plugin に書き込まれていることが確認できました。

コメント

タイトルとURLをコピーしました