ホームページ >運用・保守 >Docker >Dockerコンテナ内のものをコピーする方法

Dockerコンテナ内のものをコピーする方法

PHPz
PHPzオリジナル
2023-04-17 16:40:2811244ブラウズ

近年、Docker コンテナはますます広く使用されるようになり、アプリケーションをコンテナの形式でパッケージ化し、さまざまな環境への移植を容易にします。ただし、シナリオによっては、Docker コンテナ内のデータやコードをコピーする必要がある場合があるため、この記事では、Docker コンテナ内のデータやコードをコピーする方法を紹介します。

Docker コンテナ内のデータとコード

一部のシナリオでは、バックアップ、移行、デバッグなどのさまざまなニーズに対応するために、コンテナ内のデータまたはコードをコピーする必要があります。 Docker では、データとコードは主にコンテナのファイル システムに保存され、異なるコンテナは互いに分離されているため、直接コピーすることはできません。データとコードは、いくつかのコマンドを使用してホストにコピーする必要があります。2 つの一般的な方法を以下に紹介します:

1. docker cp コマンドを使用してデータをコピーします

docker cp コマンドはローカルにコピーできますこのコマンドの使用方法は次のとおりです:

docker cp <容器ID或名称>:<容器内路径> <宿主机路径>

このうち、 <コンテナ ID または名前> はコピーが必要であることを示します。 コンテナの ID または名前、 は、コピーする必要があるコンテナ内のファイル パス、## を示します。 # は、ホスト パスにコピーする必要があるファイルを示します。

たとえば、コンテナ

nginx 内の /etc/nginx/nginx.conf ファイルをホストの /opt ディレクトリにコピーします。 :

docker cp nginx:/etc/nginx/nginx.conf /opt
2. docker commit コマンドを使用してイメージを作成します

docker commit コマンドを使用して、コンテナ内のファイル システムを新しいイメージにパッケージ化します 具体的な使用方法は以下の通りです:

docker commit -m "commit message" <容器ID或者名称> <新的镜像名称>
このうち、

-m オプションは、このコミット操作の説明を示します。 は、イメージにパッケージ化する必要があるコンテナの ID または名前を示します。 は、生成される新しいイメージの名前を示します。

たとえば、コンテナ

nginx 内のファイル システムを新しいイメージにパッケージ化します。

docker commit -m "backup nginx config" nginx nginx-config-backup
要約

Docker にデータとコードをコピーします。この記事では、日常業務における一般的な要件を 2 つの側面から実装する方法を紹介します。

    docker cp コマンドを使用してコンテナ内のファイルをローカル マシンにコピーし、バックアップとデバッグを容易にします。
  1. docker commit コマンドを使用して、コンテナ内のファイル システムを新しいイメージにパッケージ化し、移行とバックアップを容易にします。
上記 2 つの方法はどちらもコンテナ内のデータとコードをコピーする必要があることを実現できるため、実際の状況に応じて適切な方法を選択できます。

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

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