目次
1. docker cp コマンドを使用する
ホームページ 運用・保守 Docker Dockerコンテナにファイルをコピーする方法

Dockerコンテナにファイルをコピーする方法

Apr 10, 2023 pm 02:14 PM

クラウド コンピューティングの急速な発展に伴い、Docker は多くの企業やクラウド サービス プロバイダーにとっての標準導入プラットフォームになりました。 Docker コンテナを使用する場合、多くの場合、ホストとコンテナの間でファイルを転送する必要があるため、ファイルのコピーが必要なスキルとなります。この記事では、Dockerコンテナにファイルをコピーする方法を紹介します。

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

Docker は、ホストとコンテナーの間でファイルをコピーできる特別なコマンド docker cp を提供します。具体的な使用法は次のとおりです。

docker cp <src_path> <container_id>:<dest_path>
docker cp <container_id>:<src_path> <dest_path>
ログイン後にコピー

このうち、<src_path><dest_path> はそれぞれ送信元パスと宛先パスを表します。 ;container_id> はコンテナ ID を表します。

たとえば、ホスト内のファイル

/home/user/file.txt をコンテナ内の /var/www/ ディレクトリにコピーするには、次のようにします。次のコマンドを実行します:

docker cp /home/user/file.txt <container_id>:/var/www/
ログイン後にコピー
同様に、コンテナ内のファイル

/var/log/nginx/access.log をホストの /home/user にコピーする場合/ ディレクトリで、次のコマンドを実行できます:

docker cp <container_id>:/var/log/nginx/access.log /home/user/
ログイン後にコピー

<dest_path>/ で終わる場合、それは、ターゲット パスはディレクトリです。この時点では、ターゲット パスが存在することを確認する必要があります。 <dest_path>/ で終わっていない場合は、対象パスがファイルであることを意味します。この場合、対象パスの上位ディレクトリが存在することを確認する必要があります。 。

2. 共有フォルダーを使用する

ファイルを Docker コンテナーにコピーするもう 1 つの方法は、共有フォルダーを使用することです。この方法の前提条件は、コンテナの作成時にホスト ディレクトリがコンテナの内部にマップされる必要があることです。このマッピングは、

-v または --mount を通じて完了できます。オプション:

docker run -v <host_dir>:<container_dir> <image_name>
ログイン後にコピー
または

docker run --mount type=bind,source=<host_dir>,target=<container_dir> <image_name>
ログイン後にコピー
このうち、

はホスト内のディレクトリを表し、 はホスト内のディレクトリを表します。コンテナ内のディレクトリ。次に、マップされたディレクトリはローカル ディレクトリと同じようにコンテナ内で使用できます。

この場合、転送する必要があるファイルはマッピング ディレクトリに配置するだけで、コンテナ内でアクセスできるようになります。同様に、コンテナ内で生成されたファイルをマップされたディレクトリに配置し、ホスト上でアクセスして処理することもできます。

3. Docker ボリュームの使用

Docker ボリュームを使用することは、ファイルを Docker コンテナーにコピーするもう 1 つの方法です。共有フォルダーと同様に、Docker Volume を使用してコンテナーを作成する場合は、ホスト ディレクトリをコンテナーにマウントする必要があります。違いは、このマウント アクションでは Docker デーモンに標準ボリュームが作成され、このボリュームがコンテナ内のディレクトリに関連付けられることです。これにより、ローカル ファイル システムに依存せずに、ホストとコンテナーの間で効率的なファイル共有が可能になります。

具体的な使用法は次のとおりです。

docker run -v <volume_name>:<container_dir> <image_name>
ログイン後にコピー
または

docker run --mount type=volume,source=<volume_name>,target=<container_dir> <image_name>
ログイン後にコピー
このうち、

は、標準ボリュームの名前を表します。 Docker デーモン プロセス はコンテナ内のパスを表します。共有フォルダーとは異なり、Docker ボリュームは明示的に作成および削除する必要があります。これは次のコマンドで実行できます:

docker volume create <volume_name>
docker volume rm <volume_name>
ログイン後にコピー
最後に、次のコマンドでホストとコンテナの間でファイルをコピーできます:

docker cp <file_path> <container_id>:<container_dir>
docker cp <container_id>:<container_dir> <file_path>
ログイン後にコピー
Here,

はローカル パスを表し、 はコンテナ ID を表し、 はコンテナ内のディレクトリを表します。

結論

Docker コンテナを使用するプロセスでは、ファイルのコピーが必要になることがよくあります。この記事では、Docker コンテナーにファイルをコピーする 3 つの方法、つまり docker cp コマンド、共有フォルダー、および Docker ボリュームの使用方法を紹介します。これらの方法にはそれぞれ長所と短所があります。実際には、特定のニーズに基づいて最適な方法を選択する必要があります。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Docker Swarmクラスターにアプリケーションを展開するにはどうすればよいですか? Mar 17, 2025 pm 04:20 PM

この記事では、プロセス中の準備、展開ステップ、セキュリティ対策をカバーするDocker Swarmへのアプリケーションの展開を詳細に説明します。

Kubernetesのポッド、展開、サービスとは何ですか? Kubernetesのポッド、展開、サービスとは何ですか? Mar 17, 2025 pm 04:25 PM

この記事では、Kubernetesのポッド、展開、およびサービスについて説明し、コンテナ化されたアプリケーションの管理における役割について詳しく説明しています。これらのコンポーネントが、アプリケーション内のスケーラビリティ、安定性、および通信をどのように強化するかについて説明します。(159文字)

Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Dockerコンテナにレート制限とリソースの割り当てを実装する方法は? Mar 12, 2025 pm 06:07 PM

この記事では、Dockerのレート制限とリソースの割り当ての実装について詳しく説明しています。 CGROUPを使用してCPU、メモリ、およびI/Oの制限をカバーし、リソースの疲労を防ぐためのベストプラクティスを強調します。 ネットワークレートの制限、ような外部ツールが必要です

Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Kubernetesでアプリケーションをスケーリングするにはどうすればよいですか? Mar 17, 2025 pm 04:28 PM

この記事では、手動スケーリング、HPA、VPA、およびCluster Autoscalerを使用してKubernetesのスケーリングアプリケーションについて説明し、スケ​​ーリングを監視および自動化するためのベストプラクティスとツールを提供します。

Docker Swarmでサービスを管理するにはどうすればよいですか? Docker Swarmでサービスを管理するにはどうすればよいですか? Mar 17, 2025 pm 04:22 PM

記事では、Docker Swarmのサービスの管理、ダウンタイムなしで作成、スケーリング、監視、更新に焦点を当てています。

Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Docker Swarmにローリングアップデートを実装するにはどうすればよいですか? Mar 17, 2025 pm 04:23 PM

この記事では、Docker Swarmにローリングアップデートを実装して、ダウンタイムなしでサービスを更新することについて説明します。サービスの更新、更新パラメーターの設定、監視の進捗状況、スムーズな更新の確保をカバーしています。

Kubernetesでの展開を管理するにはどうすればよいですか? Kubernetesでの展開を管理するにはどうすればよいですか? Mar 17, 2025 pm 04:27 PM

この記事では、さまざまなツールとベストプラクティスを使用して、作成、更新、スケーリング、監視、および自動化に焦点を当てたKubernetesの展開の管理について説明します。

低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? 低遅延アプリケーション用にDockerを最適化する最良の方法は何ですか? Mar 14, 2025 pm 02:00 PM

この記事では、低遅延アプリケーションのDockerを最適化する戦略について説明し、画像サイズの最小化、軽量ベース画像の使用、リソースの割り当てとネットワーク設定の調整に焦点を当てています。

See all articles