ホームページ >運用・保守 >Docker >docker でファイルをマウントできますか?

docker でファイルをマウントできますか?

WBOY
WBOYオリジナル
2022-07-08 15:23:567046ブラウズ

Docker はファイルをマウントできます。ファイル マウントとは、ホストの指定されたファイルを Docker コンテナ内のファイルにマウントすることを指します。ファイルの場所はユーザーによって管理されます。run コマンドを使用してホスト ファイルをマウントできます。コンテナ内のファイルへの構文は「docker run --name ...」です。

docker でファイルをマウントできますか?

このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。

Docker はファイルをマウントできます

ファイルのマウントとは、ホストの指定されたファイルを Docker コンテナ内のファイルにマウントすることであり、ファイルの場所はユーザーによって管理されます

docker run --name <容器名> -p 80:80 -v <宿主机文件绝对路径:容器内文件绝对路径> -d <仓库名:版本标签>
# docker run --name nginx-contain -p 80:80 -v /docker_conf/nginx/html/index.html:/usr/share/nginx/html/index.html -d nginx
# 宿主机文件挂载到容器内文件

ps:

1. ホスト ファイルはコンテナ内のファイルを上書きします

拡張知識

Docker のマウントは次のとおりです。これを使用するには、マシンのファイルまたはフォルダーがコンテナー内のファイルまたはフォルダーを上書きします。

機能:

cp コマンドを使用してデータ転送を実現しますが、この方法はより面倒です;

コンテナ ディレクトリを介してマウントします。これにより、コンテナ間の双方向通信を実現できます。ホストとコンテナディレクトリの自動データ同期により、コードのアップロード、構成の変更、ログの同期などのニーズを簡単に実現できます。

注: docker が設定ファイルをマウントするときは、マウントする設定ファイルの内容を間違えないように注意してください。書き込まないと、コンテナ作成後にコンテナを起動できなくなります。

フォルダーのマウント

ホストにフォルダーをロードすると、コンテナー内のフォルダーが確実に上書きされます:

docker でファイルをマウントできますか?

存在しないフォルダーまたは既存のフォルダーを許可しますマウントされる空のフォルダー コンテナーをロードすると、コンテナー内の対応するフォルダーがクリアされます

空でないフォルダーをコンテナーにマウントすると、コンテナー内の元のフォルダーが上書きされます

ファイルマウント

ファイル マウントとフォルダー マウントの最大の違いは次のとおりです。

docker は、ホスト上に存在しないファイルをコンテナー内に既に存在するファイルにマウントすることを禁止します

ファイルのマウントは、同じフォルダー内の他のファイルには影響しません

##既存のファイルをコンテナーにマウントすると、コンテナー内の対応するファイルが上書きされます。ファイルが存在しない場合は、ファイルが作成されます

概要

ホスト上のファイルはコンテナ内のファイルを確実に上書きします

ホストコンテナのマウント結果

存在しないファイル 既存のファイル 禁止された動作

Exists 存在しないファイル/既存のファイル、新規/上書き (ディレクトリが存在しない場合は、ディレクトリが作成されます)

アプリケーション シナリオ

上記の分析から、でフォルダがマウントされていることがわかります ファイルはフォルダ全体単位で上書きされるため、コンテナに大量のファイルをマウントする必要がある場合に使用できます。既存のフォルダーがマウントされると、通常は逆に使用されます。つまり、コンテナーの起動後、一部のファイル (ログなど) がコンテナー内のマウント ポイントのフォルダーの下に生成される場合があります。このとき、それらは直接使用できます。対応するホスト上のフォルダーに表示されます。

ファイルのマウントは 1 つのファイルのみを上書きし、コンテナー内の同じフォルダー内の他のファイルには影響しません。これは、実行時にデフォルトの構成を動的に変更するために構成ファイルをマウントするためによく使用されます。

推奨される学習: 「

docker ビデオ チュートリアル

以上がdocker でファイルをマウントできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。