ホームページ 運用・保守 Docker Docker のコピー命令と追加命令の違いは何ですか

Docker のコピー命令と追加命令の違いは何ですか

Nov 29, 2021 pm 04:57 PM
add docker

違い: COPY 命令は、リモート URL からのリソースの取得をサポートしていません。これは、docker build が実行されるホストからリソースを読み取り、イメージにコピーすることしかできませんが、ADD 命令は、リモート URL からのリソースの取得をサポートしています。これは URL から取得できます。リモート サーバーからリソースを読み取り、イメージにコピーします。

Docker のコピー命令と追加命令の違いは何ですか

このチュートリアルの動作環境: linux5.9.8 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

Dockerfile の COPY 命令と ADD 命令は両方とも、ホスト上のリソースをコンテナー イメージにコピーまたは追加できます。どちらもイメージのビルド プロセス中に完了します。

DockerFile の ADD と COPY の違い

COPY 命令と ADD 命令の唯一の違いは、次のとおりです。リモート URL リソースからの取得をサポートします。

COPY 命令は、docker build が実行されるホストからリソースを読み取り、イメージにコピーすることしかできません。 ADD 命令は、URL を介してリモート サーバーからリソースを読み取り、それらをイメージにコピーすることもサポートします。

同じ要件の場合、COPY 命令を使用することをお勧めします。 ADD 命令は、ローカル tar ファイルの読み取りと解凍に優れています。

ADD および COPY 命令

COPY は ADD と同じ構文を持ち、ファイルをコピーします。

ADD

新しいファイル、ディレクトリ、またはリモート ファイルの URL をコピーし、 に追加します。

複数のリソースを指定できますが、それらがファイルまたはディレクトリの場合、そのパスはビルド コンテキストのソース (_WORKDIR_) を基準にして解釈されます。

にはワイルドカードを含めることができ、照合には Go の filepath.Match ルールが使用されます。例:

「hom」で始まるすべてのファイルを追加します:

ADD hom* /mydir/
ログイン後にコピー

以下の例では、? は「home.txt」などの任意の 1 文字に置き換えられます。

ADD hom?.txt /mydir/
ログイン後にコピー

は絶対パス、または WORKDIR を基準とした相対パスです。

ADD 命令には次の利点があります:

  • 1. ソース パスがファイルで、ターゲット パスが / で終わる場合、dockerターゲット パスはディレクトリとして扱われ、ソース ファイルがそのディレクトリにコピーされます。
    ターゲット パスが存在しない場合、ターゲット パスは自動的に作成されます。

  • 2. ソース パスがファイルで、ターゲット パスが / で終わっていない場合、docker はターゲット パスをファイルとして扱います。
    ターゲット パスが存在しない場合は、ターゲット パスの名前でファイルが作成され、コンテンツは同じソース ファイルからのものになります。
    ターゲット ファイルが既存のファイルの場合は、ソースファイルに上書きされます もちろん内容のみが上書きされ、ファイル名は同じになります ターゲットファイル名。
    ターゲット ファイルが実際に既存のディレクトリである場合、ソース ファイルはそのディレクトリにコピーされます。この場合、混乱を避けるために、表示を / で終了することが最善であることに注意してください。

  • 3. ソース パスがディレクトリで、ターゲット パスが存在しない場合、docker はターゲット パスを使用してディレクトリを自動的に作成し、ソース パス ディレクトリにファイルをコピーします。
    ターゲット パスが既存のディレクトリの場合、docker はソース パス ディレクトリ内のファイルをそのディレクトリにコピーします。

  • 4. ソースファイルがアーカイブファイル(圧縮ファイル)の場合、docker が自動的に解凍します。

上記の利点は、ADD の欠点でもあります。

推奨される学習: 「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デスクトップの使用方法 Dockerデスクトップの使用方法 Apr 15, 2025 am 11:45 AM

Dockerデスクトップの使用方法は? Dockerデスクトップは、ローカルマシンでDockerコンテナを実行するためのツールです。使用する手順には次のものがあります。1。Dockerデスクトップをインストールします。 2。Dockerデスクトップを開始します。 3。Docker Imageを作成します(DockerFileを使用); 4. Docker画像をビルド(Docker Buildを使用); 5。Dockerコンテナを実行します(Docker Runを使用)。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

Dockerバージョンを読む方法 Dockerバージョンを読む方法 Apr 15, 2025 am 11:51 AM

Dockerバージョンを取得するには、次の手順を実行できます。Dockerコマンド「Docker -version」を実行して、クライアントバージョンとサーバーバージョンを表示します。 MacまたはWindowsの場合は、DockerデスクトップGUIのバージョンタブまたはDockerデスクトップメニューのバージョン情報を表示することもできます。

Dockerでミラーを作成する方法 Dockerでミラーを作成する方法 Apr 15, 2025 am 11:27 AM

Docker画像を作成する手順:ビルド命令を含むDockerFileを書きます。 Docker Buildコマンドを使用して、ターミナルで画像を作成します。画像にタグを付け、Dockerタグコマンドを使用して名前とタグを割り当てます。

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

docker lnmpの呼び方 docker lnmpの呼び方 Apr 15, 2025 am 11:15 AM

Docker LNMPコンテナコールステップ:コンテナの実行:Docker Run -D - Name LNMP -Container -P 80:80 -P 443:443 LNMPスタックコンテナIPを取得する:Docker Inspect LNMP -Container | GREP iPaddress Access Webサイト:http://< container ip>/index.phpsshアクセス:docker exec -it lnmp -container bash access mysql:mysql -u roo

Dockerコマンドの実行方法 Dockerコマンドの実行方法 Apr 15, 2025 am 11:24 AM

Dockerコマンドを実行する方法は? Dockerをインストールし、デーモンを起動します。一般的なDockerコマンド:Docker画像:表示画像の表示Docker PS:ディスプレイコンテナDocker run:run docker docker stop:Stop Container docker RM RM:Delete container container containerとcontainerとdocker exec:execute command docker adtach:adticle console docker logs:ディスプレイログドッカーのコミット:ミラー停止停止dock

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

See all articles