Dockerでファイルシステムをコピーする方法

PHPz
リリース: 2023-04-18 10:32:25
オリジナル
2757 人が閲覧しました

Docker は、アプリケーションの構築、公開、実行を容易にする人気の仮想化ツールです。これはコンテナーテクノロジーに基づいており、複数のレイヤーを使用してアプリケーションのさまざまな依存関係を管理します。これにより、アプリケーションを完全に分離し、移植性とスケーラビリティを高めることができます。 Docker を使用する場合、多くの場合、複数のコンテナーのファイル システムをコピーする必要があります。ここでは、Docker がファイル システムをコピーして、異なるコンテナ間でのファイル転送と共有を容易にする方法を紹介します。

1. docker cp コマンドを使用する

Docker コマンド ライン インターフェイスには、コンテナーの内部にファイルをコピーしたり、コンテナーの内部からファイルをコピーしたりするために使用できる Dockerfile cp コマンドが用意されています。コンテナをローカルに転送します。使用法は次のとおりです:

docker cp [OPTIONS] CONTAINER:SRC_PATH LOCAL_DEST_PATH
docker cp [OPTIONS] LOCAL_SRC_PATH CONTAINER:DEST_PATH
ログイン後にコピー

ここで、CONTAINER はコンテナの名前またはコンテナの ID を表し、SRC_PATH はコンテナ内のディレクトリまたはファイルを表し、 を介してコンテナ名に接続されます。 ; LOCAL_DEST_PATH はローカル ファイル システム パスを表し、コンテナからローカルへのコピーを示します。LOCAL_SRC_PATH はローカル ファイル システム パスを示し、ローカルからコンテナへのコピーを示します。ターミナルに次のコマンドを入力して、コンテナ内のファイルをローカルにコピーします:

docker cp my-container:/path/to/file /local/destination
ログイン後にコピー

これにより、my-container の /path/to/file## がコピーされます。 コンテナ #ファイルを /local/destination ディレクトリにコピーします。

ワイルドカードを使用してディレクトリ全体をコピーすることもできます。たとえば、

docker cp my-container:/path/to/dir/* /local/destination
ログイン後にコピー
これにより、

my-container## の /path/to/dir# がコピーされます。 # コンテナ ##ディレクトリ内のすべてのファイルとサブファイルは、/local/destination ディレクトリに移動します。 2. 同じネットワーク内の他のコンテナにファイルをコピーする

サービス検出やコンテナ間通信のために、同じネットワーク内の複数のコンテナをリンクすることがよくあります。この場合、

docker cp

コマンドを使用して、同じネットワーク内の他のコンテナにファイルをコピーできます。まず、コピーするコンテナの IP アドレスを知る必要があります。次のコマンドを実行すると、コンテナの IP アドレスを取得できます。

docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER_NAME_OR_ID
ログイン後にコピー
これにより、コンテナの IP アドレスが返されます。次に、次のコマンドを使用して、ファイルを他のコンテナにコピーできます:
docker cp /local_path/file.txt CONTAINER_NAME_OR_ID:/path/within/container/
ログイン後にコピー
これにより、ローカル ファイルが同じネットワーク内の他のコンテナにコピーされます。

3. リモート Docker ホストにファイルをコピーする

ファイルをリモート Docker ホストにコピーする場合は、SSH を使用する必要があります。 SSH を使用すると、安全なリモート接続を確立し、その接続内でコマンドを実行できます。まず、接続したいリモート Docker ホストの SSH キーをキーリングに追加していることを確認する必要があります。次に、次のコマンドを使用してファイルをコピーします。

docker cp /local_path/filename.txt ssh://user@remotehost:/path/within/container/filename.txt
ログイン後にコピー
これにより、ファイルがリモート ホスト上の指定されたディレクトリにコピーされます。 SSH 経由でリモート Docker ホストに接続する場合、ユーザーはリモート ホストとコンテナーにアクセスするための十分な権限を持っている必要があることに注意してください。

概要

上記の方法により、 docker cp コマンドを使用してファイル システムをコピーし、異なるコンテナ間でのファイルの転送と共有を容易にすることができます。このアプローチを使用すると、あるコンテナーから別のコンテナーへのファイルのコピー、コンテナーからローカルへのファイルのコピー、リモート Docker ホストへのファイルのコピーなど、さまざまなシナリオを実装できます。これにより、Docker を実際に使用する際の柔軟性が向上し、さまざまなニーズに適切に対応できるようになります。

以上がDockerでファイルシステムをコピーする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!