Dockerでダウンロードしたファイルの保存場所と方法を詳しく紹介

PHPz
リリース: 2023-04-04 13:41:02
オリジナル
3988 人が閲覧しました

アプリケーション開発やクラウド コンピューティングで Docker が広く使用されるようになったことで、多くのユーザーは、Docker イメージやコンテナーをダウンロードするときに、これらのファイルがどこに保存されるかわからないことに気づきました。この記事では、Dockerでダウンロードしたファイルの保存場所と方法を詳しく解説します。

Docker でダウンロードされたファイルのファイル システム構造

Docker でダウンロードされたファイルの保存場所を理解する前に、まず Docker イメージとコンテナーのファイル システム構造を理解する必要があります。

  1. Docker イメージ ファイル システムの構造

Docker イメージは、ルート ファイル システムを含む仮想ファイル システムです。 Docker イメージは Union FS テクノロジーを使用しており、イメージ内のさまざまなレイヤーのファイル システムは読み取り専用で、最上位の書き込み可能なレイヤーのみが書き込み可能です。

Docker イメージ ファイル システムのファイル構造は次のとおりです。

/                                        # 根目录
|-- bin/                                 # 可执行文件目录
|-- dev/                                 # 设备文件目录
|-- etc/                                 # 配置文件目录
|-- home/                                # 用户根目录
|-- lib/                                 # 库文件目录
|-- media/                               # 可移动设备目录
|-- mnt/                                 # 挂载目录
|-- opt/                                 # 可选应用程序目录
|-- proc/                                # 进程信息目录
|-- root/                                # 系统管理员目录
|-- run/                                 # 运行时文件目录
|-- sbin/                                # 系统可执行文件目录
|-- srv/                                 # 服务目录
|-- sys/                                 # 系统文件目录
|-- tmp/                                 # 临时文件目录
|-- usr/                                 # 用户程序目录
|-- var/                                 # 可变数据目录
`-- docker/                              # Docker自身用目录
ログイン後にコピー
ログイン後にコピー
  1. Docker コンテナ ファイル システムの構造

Docker がコンテナを起動すると、アプリケーションの実行時に必要な新しいファイルとデータを保存するために、読み取り/書き込み可能なレイヤーがイメージの上部に追加されます。この書き込み可能なレイヤーは、コンテナーのファイル システムの一部です。

Docker コンテナ ファイル システムのファイル構造は次のとおりです。

/                                        # 根目录
|-- bin/                                 # 可执行文件目录
|-- dev/                                 # 设备文件目录
|-- etc/                                 # 配置文件目录
|-- home/                                # 用户根目录
|-- lib/                                 # 库文件目录
|-- media/                               # 可移动设备目录
|-- mnt/                                 # 挂载目录
|-- opt/                                 # 可选应用程序目录
|-- proc/                                # 进程信息目录
|-- root/                                # 系统管理员目录
|-- run/                                 # 运行时文件目录
|-- sbin/                                # 系统可执行文件目录
|-- srv/                                 # 服务目录
|-- sys/                                 # 系统文件目录
|-- tmp/                                 # 临时文件目录
|-- usr/                                 # 用户程序目录
|-- var/                                 # 可变数据目录
`-- docker/                              # Docker自身用目录
ログイン後にコピー
ログイン後にコピー

Docker でダウンロードしたファイルの保存場所

Docker でダウンロードしたファイルはイメージに保存されますまたはコンテナ 書き込み可能層では、これらのファイルをコンテナ内で使用したり、コンテナからホスト ファイル システムにエクスポートしたりできます。

ここでは、ファイルのダウンロードの例とその検索方法をいくつか示します。

  1. ファイルを Docker イメージにダウンロードする

Docker イメージを実行するとき、Dockerfile の ADD または COPY 命令を使用して、ファイルをイメージに追加できます。

ADD 命令の形式は次のとおりです。

ADD source destination
ログイン後にコピー

ここで、ソースはホスト内のファイルまたはディレクトリ、宛先は Docker イメージ内のディレクトリです。

COPY 命令の形式は次のとおりです。

COPY source destination
ログイン後にコピー

ここで、ソースはホスト内のファイルまたはディレクトリ、宛先は Docker イメージ内のディレクトリです。

たとえば、次の Dockerfile は、index.html ファイルをホストからイメージ内の /var/www ディレクトリにコピーします:

FROM nginx
COPY index.html /var/www/
ログイン後にコピー

実行時に、Docker の docker Inspection コマンドを使用できます。このファイルを見つけるには:

$ docker inspect [imageID] | grep "/var/www/index.html"
ログイン後にコピー
  1. Docker コンテナにファイルをダウンロード

Docker コンテナにファイルをダウンロードするには、wget、curl、scp、その他のコマンドの使用など、さまざまな方法があります。または、ADD および COPY 命令を使用してホスト マシンからファイルをコピーすることもできます。

wget を使用してファイルをコンテナーにダウンロードします:

$ docker run -it ubuntu wget http://example.com/file.txt
ログイン後にコピー

次の手順は、wget を使用してファイルをコンテナーにダウンロードします:

Ubuntu コンテナーを作成します:

$ docker run -it ubuntu
ログイン後にコピー

wget をインストールします:

$ apt-get update
$ apt-get install wget
ログイン後にコピー

wget を使用してファイルをダウンロードします:

$ wget http://example.com/file.txt
ログイン後にコピー

Docker の docker cp コマンドを使用してファイルをコンテナからホストにコピーします:

$ docker cp [containerID]:/file.txt .
ログイン後にコピー

curl を使用してファイルをコンテナにダウンロードします:

Google のロゴをダウンロードする例を取り上げます:

$ docker run -it ubuntu curl -o google_logo.png https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png
ログイン後にコピー

ADD および COPY 命令を使用して、ホストからコンテナにファイルをコピーします:

画像と同様、Docker の ADD および COPY 命令を使用して、ホストからコンテナにファイルをコピーすることもできます。これらのファイルは、コンテナーのローカルの書き込み可能なレイヤーに保存されます。

これは、ADD 命令を使用してホストからコンテナーにファイルをコピーする Dockerfile の例です:

FROM ubuntu
ADD file.txt /app/
ログイン後にコピー

実行時に、Docker の docker Inspection コマンドを使用してこのファイルを見つけることができます:

$ docker inspect [containerID] | grep "/app/file.txt"
ログイン後にコピー

概要

Docker でダウンロードされたファイルは、コンテナ内の対応するイメージまたは書き込み可能なレイヤーに保存されます。ファイルは、Docker の指示または一般的なツールを使用して、コンテナからダウンロードまたはコピーできます。これらの場所とメソッドは比較的簡単に習得できるため、Docker を使用するときにこれらの問題についてあまり心配する必要はありません。

以上がDockerでダウンロードしたファイルの保存場所と方法を詳しく紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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