2017-07-19 3 views
0

私はローカルWP開発を行っています。私は変更を加えるたびにDocker-composeは毎回新しいデータベースを作成し、データは保存されません。

(のようなプラグインを追加)し、実行します:docker-compose up -d && docker-compose logs -f wordpress

それは新鮮なDB作成し、プラグインが変更と長いが削除されます。毎回.wpファイルを1つの移行プラグインでエクスポートして再度インポートすることができますが、より良い方法は何ですか?

+0

供給可能 – bluescores

+0

は、残念ながら、私はあなたは親切に私を指すことができ、それを供給することはできません場合は、あなたのドッキングウィンドウ-compose.yml私が探すべき方向に? – JohnSnow

答えて

0

docker-compose.ymlにtop-level volumeをお試しください。適切に設定されていれば、ドッカーの作成によってバックエンドサービスが再起動/再構築/破棄された回数に関係なく、ボリュームを使用してファイルシステムレベルでバックエンドデータを保持できます。

0

データを永続化したい場合、そのデータをボリュームにマウントできます。ドッカーでのボリュームの使用は、documentationから理解できます。ワードプレスの場合は、ホストディレクトリをコンテナの/var/www/html/にマウントすることができます。ボリューム構成に従うことでこれを手助けする必要があります。

volumes: 
    - ./html/:/var/www/html/ 

ヒント1:すでに自分のイメージにインストールするいくつかのことをしたい場合は、dockerfile自体に、次にインストールし、独自のカスタムイメージを作成します。 は、docker-compose.ymlでドッカーファイルの使用に役立ちます。

ヒント2:ドッカーでローカル開発を行う方法をよりよく理解するために、ドッカーファイルをこの目的に使用することをお勧めします。

ドッカーファイルでは、何かをインストールするコマンドRUNを使用できます。各RUNコマンドの出力は、キャッシュに格納されます。したがって、イメージを正常に構築すると、次のRUNコマンドは実行されず、その代わりにキャッシュが使用されます。

host:container 

例:あなたは、次の構文を使用することができるサービスボリュームの下

0

wordpress: 

    volumes: 

     -../html:/var/www/html 

に対するホスト上の絶対パスマッピング

/opt/data:/var/lib/mysql 

パスを指定作成ファイル

./cache:/tmp/cache 

ユーザーの相対パス

~/configs:/etc/configs/:ro 

というボリューム

datavolume:/var/lib/mysql 
関連する問題