IMUZA.com

Xserver<<WordPress(ConoHa)<<はてなブログ

ホーム / Docker / WordPress:ローカル開発環境共有 Ubuntu + WSL2 + Docker + Dropbox

WordPress:ローカル開発環境共有 Ubuntu + WSL2 + Docker + Dropbox

2022/02/28 Docker, Wordpress

WordPress のテーマやプラグインを開発するために Docker でローカル環境を構築する際、複数ヶ所から同じデータを使うために Dropbox で共有する方法です。

  • Docker が簡単でびっくり!
    • WordPress を立ち上げる
  • Dropboxでデータ共有
    • WSL2 に Dropbox インストール
  • Dropbox で Docker データの共有
    • コンテナを一般ユーザーで稼働させる

Docker が簡単でびっくり!

現時点の環境は Ubuntu と Windows10 です。

まず Docker のインストールですが、Ubuntu を使っている方がなんであれインストールに迷うことはないと思いますので、Docker ドキュメントのリンクを記載しておきます。

  • Install Docker Engine on Ubuntu | Docker Documentation

Windows10 の場合は、まず WSL2 をインストールする必要があります。

  • Windows10 に Linux 環境(wsl2) – IMUZA.com

その上で Docker Desktop WSL 2 をインストールします。

  • Docker, Docker-compose のインストール

Docker Compose をインストールします。

  • Docker, Docker-compose のインストール

WordPress を立ち上げる

Docker Compose が入れば、Ubuntu であれ、Windows であれ、同じ docker-compose.yml であっという間に WordPress が立ち上がります。

  • Docker + WordPress + Dropbox
  • クィックスタート: Compose と WordPress — Docker-docs-ja 19.03 ドキュメント

Dropboxでデータ共有

で、本題の Dropbox を使ったデータ共有です。

これが意外と難しく、特に Mysql の所有権を一致させないと Dropbox と同期できなかったり、そもそも Mysql がデータを読み込まなかったりします。

当初は Windows10 の方は Windows10 に同期された Dropbox を使い、WordPress や Mysql のデータを /mnt/c/Users/(ユーザ名)/Dropbox 下のディレクトリにマウントし、所有権を 777, 666 に指定して、なんとか共有できていたのですが、これですと、おそらくファイル形式の変換にかなりの時間を要していたのでしょう、なかなか実用レベルにならない結果でした。

ということで、何のことはない、WSL2 に Dropbox を入れればいいということに気づき(遅い!)やってみました。

WSL2 に Dropbox インストール

Dropbox 公式にインストール方法があります。

  • インストール – Dropbox

リンク先の「コマンド ラインを使った Dropbox のヘッドレス インストール」に従ってインストールします。インストールが完了しますと、既存のアカウントとのリンクの指示が出ますのでそれに従いリンクさせます。リンクされますと、ログインアカウントのホームディレクトリに Dropbox ディレクトリが作成され順次ファイルがダウンロードされてきます。

なお、インストールページの最下行に「コマンド ラインから Dropbox を管理するには Python スクリプト をダウンロード」とありますが、Python スクリプトを使わなくてもインストールした dropboxd で管理できます。コマンドラインで $ dropbox help と打って次のようにコマンドオプションが表示されれば問題ありません。

Dropbox で Docker データの共有

Dropbox で Docker データを共有するには Dropbox にデータディレクトリをマウントすればいいのですが、Dropbox ユーザーがアクセス権限を持っていないディレクトリやファイルはリンクされません。当たり前といえば当たり前のことなんだろうと思います。

一方、WordPress を Docker 公式イメージで立ち上げますと、WordPress や Mysql が root や www-data で稼働します。このままでは ファイルが Dropbox にアップロードされません。

で、次の手順で WordPress の稼働ユーザーを変更します。

コンテナを一般ユーザーで稼働させる

Ubuntu, WSL2 上の Ubuntu のどちらでもいいですので次の手順で WordPress を稼働させます。

  • docker-compose.yml で WordPress と Mysql コンテナを立ち上げる
  • 通常通り、WordPress をインストールする
  • いったんコンテナを停止する
  • WordPress と Mysql インストールディレクトリの uid と gid をホストと同じ一般ユーザーに書き換える
  • docker-compose.yml に user: 指定を追加し WordPress と Mysql を立ち上げる

詳しくは次の記事をご覧ください。

www.imuza.com

後は他デバイスからも同じ docker-compose.yml を実行すれば、すでに存在している Dropbox ディレクトリの Docker データでで WordPress が起動します。

現在のところ、これで2ヶ所から同じデータで WordPress が立ち上がりテーマやプラグイン作成が可能になっています。

Amazonギフト券 チャージタイプ(直接アカウントに残高追加)

Amazonギフト券 チャージタイプ(直接アカウントに残高追加)

  • AMAZON.CO.JP

Amazon

WordPress:docker-composeでコンテナを一般ユーザーで起動する
WordPress:インポーターで<pre></pre>内のスペースが削除される
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2023/03/27

WordPress:Fetch(Ajax)でお問い合わせフォーム(プラグインなし)

2023/03/21

WordPress:メール送信にGmailのSMTPを使う(プラグインなし)

2023/03/10

WordPress:サムネイル付き次の記事/前の記事

2023/02/28

Twitterシェアリンクはintent/tweetを使おう

2023/02/21

GoogleタグマネージャーとアナリティクスGA4

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips109
  • javascript98
  • Joomla!88
  • Windows68
  • Wordpress66
  • CSS63
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Google34
  • Plamo33
  • はてなプラグイン25
  • php22
  • Node.js18
  • Ubuntu16
  • SASS16
  • laravel415
  • Chrome11
  • cms-style10
  • iPhone9
  • ConoHa WING6
  • Git入門6
  • genesis6
  • Python5
  • Android5
  • PC全般4
  • Facebook4
  • スマートフォン4
  • 静的サイトジェネレーター3
  • Firefox3
  • SSD3
  • Blankslate3
  • Docker3
  • Twitter2
  • GitHub2
  • Mactype2
  • はてなブクマ1
  • 映画1
  • youtube1
  • rails入門1
  • Xserver1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Related Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2023 · IMUZA.com