カスタムテーマを開発およびデプロイするためにDockerを構成するにはどうすればよいですか?


12

私はDockerを使い始めましたが、まだWordPressのプロフェッショナルな開発プラクティスは初めてです。カスタムのWordPressテーマ開発を行えるように、Docker開発環境(Mac上)をセットアップしたいと思います。

これを以前に実行し、既にDockerを使用していると仮定すると、どのように設定しましたか?Dockerfileとdocker-compose.ymlはどのように見えますか?これは以前に行われたと確信しています。これを設定できる1行のコマンドが既に存在していても驚かないでしょう。

更新:このトピックを次の質問に絞り込みました。

カスタムテーマを開発およびデプロイするためにDockerを構成するにはどうすればよいですか?


2つのリンクのみの回答を削除する必要がありました。あなたの質問には8つの賛成票があるので、解決可能な1つの質問に絞り込んでください。
カイザー

@kaiser「Professional WordPress development」はあまりよく文書化されていないため、多くの人々(私を含む)がWordPressをカスタムWordPressテーマを開発およびデプロイするためのプロフェッショナルな方法で作業する方法を学ぼうとしています。Dockerを使用すると、実稼働環境をミラーリングする環境の作成に役立ちますが、これも新しい領域であるため、WordPress開発ワークフローにDockerを組み込む方法を知りたいと思います。
アンドリュー

アンドリュー、このテキストをご覧になり、このサイトでどのような質問を受け付けていますか。現状では、あなたの質問は非常に主観的で、オープンエンドであり、意見に基づくものだけを引き付けるか、回答のみをリンクします。それを変更してください。そうしないと、質問を閉じなければなりません。ありがとう。
カイザー

@kaiserさて、私はこれをより焦点を絞った質問に変更するために最善を尽くしました。
アンドリュー

回答:


7

部分的な回答を投稿して、空白または代替回答を埋めるために役立つコメントを取得することを期待して、ディスカッションを開始します...

ステップ1:boot2dockerのインストールとセットアップ

DockerはLinuxでのみ実行されます。したがって、MacでDockerを使用するboot2dockerには、Linux VMでDockerを実行するをインストールする必要があります。Homebrewboot2dockerを使用してインストールできます。

brew install boot2docker

インストールが完了したら、boot2dockerをセットアップして起動します。

boot2docker init
boot2docker start

次に、docker-composeがboot2docker VM内でDockerを見つけることができるように、環境変数を設定するコマンドを実行する必要があります。

eval "$(boot2docker shellinit)"

変数をエクスポートする行をに追加して~/.bash_profile、新しいターミナルウィンドウを開くたびにコマンドを実行する必要がないようにすることができます。

ステップ2:docker-composeをインストールする

Dockerコンテナ間の関係を簡単に定義できるdocker-compose(元々fig)と呼ばれるDockerプラグインがあります。Homebrewを使用してインストールすることもできます。

brew install docker-compose

ステップ3:docker-compose.ymlを作成する

あります公式のWordPressドッカーイメージドッカーレジストリでは。Dockerをすべて動作させるために必要なすべてのコマンドラインフラグを使用して、手動でDockerを起動する方法に関する情報が含まれています。私が知る限り、を使用するため、すべてをスキップできますdocker-compose。WordPressテーマで作業するディレクトリでdocker-compose.yml、次の内容でを作成します。

wordpress:
  image: wordpress
  links:
    - db:mysql
  ports:
    - 8080:80
  volumes:
    - .:/var/www/html/wp-content/themes/my-theme-name

db:
  image: mariadb
  environment:
    MYSQL_ROOT_PASSWORD: example

このvolumes構成により、現在のディレクトリのテーマファイルがDockerコンテナ内の新しいテーマディレクトリにリンクされます。

ステップ4:コンテナーを開始する

実行するdocker-compose upと、WordPressのインストールを実行する2つのDockerコンテナー(「wordpress」と「db」)をセットアップします。

ステップ5:ブラウザーでサイトを開く

当社のdocker-compose.ymlコンフィギュレーションは、我々はまた、ポート8080にポート80を転送していることを指定し、boot2dockerそのVMは、特定のIPアドレス上で実行されます。したがって、URLを把握するには、boot2docker ip次のコマンドを使用する必要があります。

open http://$(boot2docker ip):8080

ご質問

コンテナを稼働させたので、いくつか質問があります...

  1. にリストされているエクスポートをコピーして貼り付ける以外に、boot2docker環境変数を自動設定する方法はありboot2docker shellinitますか?

  2. Railsアプリケーションで作業しているときは、Powを使用し.devて、特定のポート/ IP を使用する代わりに名前付きドメインを使用してアプリにアクセスできるようにします。http://mysite.devを使用してホストにアクセスできるように、システム(またはPow)を構成するにはどうすればよいですか?

  3. 見逃したステップはありますか?または最後に追加する必要がある手順はありますか?


2番目の質問。docker nginx proxy:github.com/jwilder/nginx-proxyを試すことができます。
he麗

0

これに対する私の推奨ソリューションは、ComposerをDockerと組み合わせて使用​​することです。Dockerは環境を処理し、Composerは依存関係を処理します。依存関係には、テーマ、プラグイン、その他必要なパッケージが含まれます。

ローカルDockerのセットアップは次のとおりです。

https://github.com/alexmacarthur/wp-skateboard

そして、Composerを使用して_sテーマをダウンロードし、themesディレクトリに配置するブランチを次に示します。

https://github.com/alexmacarthur/wp-skateboard/tree/starter-theme-underscores

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.