検索
ホームページ運用・保守DockerDockerコンテナにファイルをコピーする方法

クラウド コンピューティングの急速な発展に伴い、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></dest_path></src_path></container_id></dest_path></container_id></src_path>

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

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

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

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

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

docker cp <container_id>:/var/log/nginx/access.log /home/user/</container_id>

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

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

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

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

docker run -v <host_dir>:<container_dir> <image_name></image_name></container_dir></host_dir>
または

docker run --mount type=bind,source=<host_dir>,target=<container_dir> <image_name></image_name></container_dir></host_dir>
このうち、

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

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

3. Docker ボリュームの使用

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

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

docker run -v <volume_name>:<container_dir> <image_name></image_name></container_dir></volume_name>
または

docker run --mount type=volume,source=<volume_name>,target=<container_dir> <image_name></image_name></container_dir></volume_name>
このうち、

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

docker volume create <volume_name>
docker volume rm <volume_name></volume_name></volume_name>

最後に、次のコマンドでホストとコンテナの間でファイルをコピーできます:

docker cp <file_path> <container_id>:<container_dir>
docker cp <container_id>:<container_dir> <file_path></file_path></container_dir></container_id></container_dir></container_id></file_path>
Here,

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

結論

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

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

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

実際のプロジェクトのDockerのアプリケーションシナリオには、展開の簡素化、マルチコンテナーアプリケーションの管理、パフォーマンスの最適化が含まれます。 1.Dockerは、dockerfileを使用してnode.jsアプリケーションを展開するなど、アプリケーションの展開を簡素化します。 2。DockerComposeは、マイクロサービスアーキテクチャのWebやデータベースサービスなどのマルチコンテナーアプリケーションを管理しています。 3.パフォーマンス最適化は、マルチステージ構造を使用して画像サイズを縮小し、健康チェックを通じてコン​​テナのステータスを監視します。

Docker vs. Kubernetes:ユースケースとシナリオDocker vs. Kubernetes:ユースケースとシナリオApr 23, 2025 am 12:11 AM

小さなプロジェクトまたは開発環境でDockerを選択し、大規模なプロジェクトまたは生産環境でKubernetesを選択します。 1.ドッカーは、迅速な反復とテストに適しています。2。Kubernetesは、大規模なアプリケーションの管理と拡張に適した強力なコンテナオーケストレーション機能を提供します。

LinuxのDocker:Linuxシステムのコンテナ化LinuxのDocker:Linuxシステムのコンテナ化Apr 22, 2025 am 12:03 AM

Linuxは、豊富なツールとコミュニティサポートを提供するネイティブプラットフォームであるため、LinuxでDockerが重要です。 1. docker:sudoapt-getupdateとsudoapt-getinstalldocker-cedocker-ce-clicotainerd.ioを使用します。 2。コンテナの作成と管理:Dockerrun-D-Namemynginx-P80:80NginxなどのDockerrunコマンドを使用します。 3。DockerFileを書き込み:画像サイズを最適化し、マルチステージ構造を使用します。 4。最適化とデバッグ:DockerLogsとDockerexを使用します

Docker:コンテナ化ツール、Kubernetes:オーケストレーターDocker:コンテナ化ツール、Kubernetes:オーケストレーターApr 21, 2025 am 12:01 AM

Dockerはコンテナ化ツールであり、Kubernetesはコンテナオーケストレーションツールです。 1. Dockerパッケージアプリケーションとその依存関係は、Docker対応環境で実行できるコンテナに依存します。 2。Kubernetesはこれらのコンテナを管理し、自動展開、スケーリング、管理を実装し、アプリケーションを効率的に実行します。

Dockerの目的:アプリケーションの展開を簡素化しますDockerの目的:アプリケーションの展開を簡素化しますApr 20, 2025 am 12:09 AM

Dockerの目的は、アプリケーションの展開を簡素化し、コンテナ化技術を通じてさまざまな環境でアプリケーションが一貫して実行されるようにすることです。 1)Dockerは、アプリケーションと依存関係をコンテナにパッケージ化することにより、環境の違いの問題を解決します。 2)DockerFileを使用して画像を作成して、アプリケーションがどこでも一貫して実行されることを確認します。 3)Dockerの作業原則は画像とコンテナに基づいており、Linuxカーネルの名前空間とコントロールグループを使用して、分離とリソース管理を実現します。 4)基本的な使用法には、DockerHubからの画像の引き込みと実行が含まれます。高度な使用法には、DockerComposeを使用したマルチコンテナーアプリケーションの管理が含まれます。 5)画像構築の故障やコンテナの障害などの一般的なエラーは、ログやネットワーク構成を介してデバッグできます。 6)パフォーマンス最適化構造

LinuxとDocker:さまざまなLinux分布のDockerLinuxとDocker:さまざまなLinux分布のDockerApr 19, 2025 am 12:10 AM

Ubuntu、Centos、およびDebianにDockerをインストールして使用する方法は異なります。 1)ubuntu:aptパッケージマネージャーを使用します。コマンドはsudoapt-getupdate && sudoapt-getinstalldocker.ioです。 2)Centos:Yum Package Managerを使用すると、Dockerリポジトリを追加する必要があります。コマンドは、sudoyumininstall-yyum-utils && sudoyum-config-manager - add-repohttps://download.docker.com/linです

Mastering Docker:Linuxユーザー向けガイドMastering Docker:Linuxユーザー向けガイドApr 18, 2025 am 12:08 AM

LinuxでDockerを使用すると、開発効率が向上し、アプリケーションの展開を簡素化できます。 1)Ubuntu画像を引く:dockerpullubuntu。 2)ubuntuコンテナを実行:Dockerrun-itubuntu/bin/bash。 3)nginxを含むDockerFileを作成します:fromubuntu; runapt-getupdate && apt-getinstall-ynginx; expose80。 4)画像の作成:dockerbuild-tmy-nginx。 5)コンテナの実行:Dockerrun-D-P8080:80

LinuxのDocker:アプリケーションとユースケースLinuxのDocker:アプリケーションとユースケースApr 17, 2025 am 12:10 AM

Dockerは、Linuxのアプリケーションの展開と管理を簡素化します。 1)Dockerは、アプリケーションとその依存関係を軽量でポータブルコンテナにパッケージ化するコンテナ化されたプラットフォームです。 2)Linuxでは、DockerはCgroupと名前空間を使用して、コンテナの分離とリソース管理を実装します。 3)基本的な使用には、画像の引き込みと実行容器が含まれます。 DockerComposeなどの高度な使用は、マルチコンテナーアプリケーションを定義できます。 4)一般的に使用されるDockerLogsとDockerexecコマンドをデバッグします。 5)パフォーマンスの最適化は、マルチステージの構造により画像サイズを縮小することができ、DockerFileをシンプルに保つことがベストプラクティスです。

See all articles

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

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

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。