コンテナ化されたアプリケーションでは、ファイルをコンテナに入れることが一般的な要件です。 Docker では、これはファイルをコンテナーにコピーするか、ボリューム マウントを使用してファイルをコンテナーに共有することによって実現されます。 Docker でファイルをダウンロードするためのいくつかの方法を次に示します。
方法 1: COPY 命令を使用する
COPY 命令は、ホスト システム (ホスト) から Docker コンテナーにファイルをコピーするために使用されます。構文は次のとおりです。
COPY <源路径> <目标路径>
このうち、ソース パスはコピーするファイルが存在するパスを示し、ターゲット パスはファイルをコンテナにコピーするパスを示します。以下は、現在のホスト(host)にあるファイル「file.txt」をDockerコンテナの「/app」ディレクトリにコピーする例です。
FROM ubuntu COPY file.txt /app/
方法 2: ADD 命令を使用する
ADD 命令には、COPY 命令と同様の機能があります。違いは、ADD 命令がネットワークからのファイルのダウンロードや自動解凍などの高度な機能をサポートしていることです。ここでは一般的な場面での使い方のみを紹介します。構文は次のとおりです。
ADD <源路径> <目标路径>
次は、ADD 命令を使用して、現在のホスト (host) にあるファイル「file.zip」を Docker コンテナーの「/app」ディレクトリにコピーする例です。 。
FROM ubuntu ADD file.zip /app/
方法 3: wget コマンド
を使用して Docker コンテナーにファイルをダウンロードするダウンロード操作は、一般的な Linux コマンドを使用して実行できます。ここでは、wgetコマンドを使用してファイルをダウンロードします。 wget は、Web サーバーからファイルをダウンロードするために非常に一般的に使用されるコマンド ライン ツールです。構文は次のとおりです。
wget <下载链接> -O <目标路径>
このうち、ダウンロード リンクはダウンロードする必要があるファイルのリンク アドレス、ターゲット パスはファイルをローカル システムに保存するパスです。以下は、wget コマンドを使用してファイルをダウンロードし、それを Docker コンテナーにコピーする例です。
FROM ubuntu RUN apt-get update && apt-get install -y wget RUN mkdir /app RUN wget -O /app/file.txt http://example.com/file.txt
方法 4: ボリューム マウントを使用する
ホスト システム (ホスト) 上の Docker コンテナーにダウンロードするファイルが既にある場合は、ボリューム マウントを通じてファイルを共有できます。ドッカーコンテナ。ボリュームは、ホスト上のディレクトリまたはフォルダーを Docker コンテナ内のディレクトリまたはフォルダーにマップするデータ ボリュームです。このようにして、Docker コンテナーで行われた変更はホスト システムに反映され、その逆も同様です。構文は次のとおりです。
docker run -v <主机目录>:<容器目录> image
このうち、ホストディレクトリはホスト(ホスト)上のディレクトリまたはフォルダ、コンテナディレクトリはコンテナ内でアクセスする必要があるディレクトリまたはフォルダです。以下はボリュームマウント方法の使用例です。
docker run -v /path/to/file.txt:/app/file.txt ubuntu
上記の例では、ホスト上の「/path/to/file.txt」が Docker コンテナ内の「/app/file.txt」にマッピングされます。このようにして、コンテナはホスト マシン上のファイルにアクセスできます。
結論
上記は、Docker でファイルをダウンロードするためのいくつかの方法です。シナリオごとに異なる方法が適しています。実際のアプリケーションでは、特定の状況に基づいて適切な方法を選択する必要があります。ファイルをダウンロードする他の良い方法がある場合は、共有して追加してください。
以上がDocker でファイルをダウンロードするいくつかの方法をまとめます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。