2016-06-02 3 views
1

多くのドッカーの例で私が欠けているものがあり、それは永続的なデータです。停止しているすべてのコンテナがデータを失うと結論付けると正しいでしょうか?永続的なデータを持つPrestashopドッカーコンテナを実行するにはどうすればよいですか?

私はそれを実行しているこのPrestaShopのイメージが内部データベースのGot: https://hub.docker.com/r/prestashop/prestashop/

あなたはたださてあなたは、あなたのデモを得たが、非常に実用的ではないdocker run -ti --name some-prestashop -p 8080:80 -d prestashop/prestashop

を実行します。 まず第一に私は外部のMySQLコンテナをフックする必要がありますが、例えば私のサーバが再起動した場合は、すべてのデータも失われます。

プレスタショップコンテナに追加されるすべてのモジュールとテーマについて教えてください。

これはボリュームと関係がありますが、ホストボリュームを正しくマップする必要があり、どのホストのパスが通常どのように選択されるかはわかりません。/opt/prestashop何か?

答えて

0

まず、私はPrestaShopの経験がありません。これは、データを保持したいすべてのドッカーコンテナに使用できる例です。 新しいバージョンのdocker(1.11)では、データを永続化するのが簡単です。あなたの名前のボリューム・コンテナを作成した後は、ボリューム・コンテナを使用してコンテナを接続することができ PrestaShopのボリューム

:あなたはこの/var/lib/docker/volumesでボリュームが表示されます

docker volume create --name prestashop-volume 

: まず、あなたの名前のボリュームを作成

docker run -ti --name some-prestashop -p 8080:80 -d -v prestashop-volume:/path/to/what/you/want/to/persist :prestashop/prestashop 

は(あなたが本当にすべてのものを保持したい場合、私はあなたがパスを使用することができると思う:/

これで、データベースで必要なことを行うことができます。 コンテナがダウンした場合、またはコンテナを削除した場合でも、指定されたボリュームはそこに残り、名前付きボリュームにコンテナを再接続できます。

は、それがさらに簡単にあなたが本当にすべてがなくなっている場合は、あなたが名前のボリュームを再作成することによって、あなたのボリュームを復元し、あなたの.tar-をuntarすることができます /var/lib/docker/volumes/prestashop-volume/ のコンテンツの.tarファイルを作成するcronジョブを作成することができますようにするにはそこにファイル。

+0

あまりにもありがとう、それは簡単でした:) prestashopドッカーファイル内のボリュームは、外界に公開されている場所ですか? – user3411864

+0

私はそれらのVOLUME xxxがあなたのコンテナの中のマウントポイントだと思います。これがあなたを助けることを願っています。セクション:VOLUME:https://docs.docker.com/engine/reference/builder/ – lvthillo

関連する問題