Docker cpコマンドは、コンテナとホストシステム間でファイルやフォルダをコピーできる便利なユーティリティです。
ホストシステムからコンテナにファイルをコピーする場合は、次のようなdockercpコマンドを使用する必要があります。
docker cp host_source_path container:destination_path
コンテナからホストシステムにファイルをコピーする場合は、次のコマンドを使用します。
docker cp container:source_path host_destination_path
それは少し恐ろしいように見えるかもしれないので、いくつかの実際的な例であなたにそれを説明させてください。
Dockercpコマンドの例
私のチュートリアルでは、UbuntuにDockerをインストールしました。ただし、手順はdockerを実行しているすべてのディストリビューションで同じです。
実行中のコンテナーが必要になるため、Dockerコンテナーの実行方法を知っていただければ幸いです。
最初にdockerpsを使用して実行中のコンテナを一覧表示します コマンド:
[email protected]:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8353c6f43fba 775349758637 "bash" 8 seconds ago Up 7 seconds ubu_container
コンテナIDまたはコンテナ名のいずれかを知っている必要があります。私の場合、Dockerコンテナ名は ubu_containerです。 。コンテナIDは8353c6f43fba 。
ファイルが正常にコピーされたことを確認する場合は、次の方法でコンテナを入力してから、通常のLinuxコマンドを使用できます。
docker exec -it ubu_container bash
1。ホストシステムからDockerコンテナにファイルをコピーします
docker cpを使用したコピーは、Linuxのcopyコマンドに似ています。
a.pyという名前のファイルをコンテナのhome/dir1ディレクトリにコピーします。
docker cp a.py ubu_container:/home/dir1
ファイルが正常にコピーされると、画面に出力は表示されません。宛先パスが存在しない場合は、エラーが表示されます:
[email protected]:~$ sudo docker cp a.txt ubu_container:/home/dir2/subsub
Error: No such container:path: ubu_container:/home/dir2
宛先ファイルがすでに存在する場合、警告なしに上書きされます。
コンテナ名の代わりにコンテナIDを使用することもできます:
docker cp a.py 8353c6f43fba:/home/dir1
Docker Run vs Start vs Create:違いの説明docker初心者にとって、docker start、docker run、dockercreateなどの用語は混乱を招く可能性があります。この記事では、例との違いについて説明します。 LinuxハンドブックAbhishekPrakash 2。 Dockerコンテナからホストシステムにファイルをコピーします
docker cpコマンドは、ホストシステムでのみ実行されます。コンテナ内で実行することはできません。
Dockerコンテナからホストシステムにファイルをコピーする場合でも、ホストシステムにアクセスして、次の方法でコマンドを使用する必要があります。
sudo docker cp ubu_container:/home/dir1/new.txt /home/abhishek
3。コンテナとホストシステム間でディレクトリをコピーする
Linuxでcpコマンドを使用してディレクトリをコピーする場合は、再帰オプション-rを使用する必要があります。
ただし、docker cpコマンドでは、そのようなオプションは必要ありません。同じコマンドがファイルとフォルダの両方をコピーするために機能します。
docker cp /home/abhishek/my_dir ubu_container:/home
sudo docker cp ubu_container:/home/my_dir /home/abhishek
4。元の属性でファイルとディレクトリをコピーする
オプション-aを使用して、コピー中にアーカイブモードを使用できます。これにより、元のファイルのすべてのファイル権限、UID、およびGIDをコピーできます。
docker cp -a host_source_path container:destination_path
docker cp -a container:source_path host_destination_path
それについてです。 dockercpコマンドを使用してホストとコンテナー間でファイルをコピーするのがいかに簡単かがわかります。
質問や提案があれば、コメントシステムで知らせてください。