2016-04-01 8 views
0

私はDockerizeしようとしているこのアプリケーションは、インストールディレクトリのルートに構成ファイルがあります。 VOLUMEを使用してホスト上にインストールディレクトリをマウントすると、ホスト上のアプリケーションも終了します。私は設定ファイルをホストに保存したいだけです。DockerfileでVOLUMEを使用して、ディレクトリ内の個々のファイルを永続化するにはどうすればよいですか?

コンテナ内のハードリンクを使用し、VOLUMEを使用してハードリンクを持つディレクトリをマウントする必要がありますか?ハードリンクはコンテナ内でも動作しますか?

+0

[ドッキングステーションの永続的なストレージ(データベースなど)の処理方法](http://stackoverflow.com/questions/18496940/how-to-deal-with-persistent-storage-eg-databasesイン・ドッカー) – Auzias

答えて

2

個々のファイルをマウントできます。ホストマシンから - だけではなく ディレクトリの - 以下は、データ量

としてホストファイルのマウント

https://docs.docker.com/engine/userguide/containers/dockervolumes/ドッキングウィンドウのドキュメントから-vフラグは、単一のファイルをマウントするために使用することができています。

$ docker run --rm -it -v ~/.bash_history:/root/.bash_history ubuntu /bin/bash 

これは新しい容器にbashシェルにあなたをドロップします、あなたはホストから あなたのbashの歴史を持って、あなたは、コンテナを終了すると、 ホストがでつつ、入力したコマンドの履歴を持っています コンテナ。

注:viおよびsed -in-placeを含むファイルを編集するために使用される多くのツールは、iノードが変更される可能性があります。 Docker v1.1.0以降、これは "sed:名前を変更できません./sedKdJ9Dy:Device またはリソースがビジー状態です"というエラーが発生します。マウントされた ファイルを編集する場合は、代わりに親ディレクトリをマウントするのが最も簡単です。

関連する問題