web-dev-qa-db-ja.com

Dockerを使用したWordPress開発 - ディレクトリを共有する方法

私は通常、ローカルのWordPress開発にvagrant(VVVまたは岩盤のフレーバー)を使います。

しかし、私はDockerの使い方を学びたいのです。

私はそれをBoot2Dockerと一緒にインストールし、Dockerを実行し、そして画像を引っ張るか、あるいはhttp経由で私のローカルホストマシン上でうまく応答するNginx WordPressコンテナを起動する方法さえ学びました。 Dockerからのドキュメントが私をすべて助けてくれました。

私の問題は、WordPress用のコンテナーを特定の設定で作成する方法(LEMPが好きです。後でHHVMで試したいと思うかもしれません)を理解していないし、コンテナーの内容を私のローカルホストマシンと共有する方法です。実際の開発.

Dockerがファイルを保存している場所が見つかりません。 Vagrantを使えばもっと簡単です...そしてまた、私は自分のプロジェクトをDropboxディレクトリに保存します - これは私が他の場所で自分のローカルファイルにアクセスしたい場合のための追加のバックアップと同期として働きます。 Dockerでも同じことを達成したいです。

誰かがこのチュートリアルを書きましたか?それとも私が行方不明だったかもしれないいくつかの文書をあなたは指摘することができますか?

ここから https://docs.docker.com/userguide/dockervolumes/ それを読みました

注意:Boot2Dockerを使用している場合、DockerデーモンはOSX/Windowsファイルシステムへのアクセスが制限されています。 Boot2Dockerは/ Users(OSX)またはC:\ Users(Windows)ディレクトリを自動共有しようとします - したがって、docker run -v/Users /:/ ...(OSX)またはdocker runを使用してファイルまたはディレクトリをマウントできます - v/c/Users /:/

Boot2Docker githubのreadmeでは、代わりに見つけました。 https://github.com/boot2docker/boot2docker#folder-sharing

しかし、それで問題が解決するわけではありません。それは読み取り専用のようですか?しかしそれとは別に、私はdropboxの中でディレクトリを共有したいと思います。私のDockerプロジェクト/コンテナーを含む/ dropbox/docker - Vagrantを使った場合と少し似ています。それを達成するための方法は?

ありがとうございました

2
unfulvio

私は このもう一つの答えに短いチュートリアルを書いた もう少し詳細に入るが、私はあなたが望むディレクトリ(volumes)を定義するためにdocker-composeを使いたいと思う。ローカル環境とコンテナ環境の間で共有する。 Dockerで直接これを行う方法があるかもしれませんが、私はdocker-composeがこれに役立つツールだと思います。

サンプル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
1
Andrew