Rumah > Operasi dan penyelenggaraan > Docker > Bagaimana untuk menyalin fail ke bekas docker

Bagaimana untuk menyalin fail ke bekas docker

PHPz
Lepaskan: 2023-04-10 15:07:37
asal
6876 orang telah melayarinya

Dengan perkembangan pesat pengkomputeran awan, Docker telah menjadi platform penggunaan standard untuk banyak syarikat dan penyedia perkhidmatan awan. Apabila menggunakan bekas Docker, selalunya perlu untuk memindahkan fail antara hos dan bekas, dan keperluan ini menjadikan menyalin fail sebagai kemahiran yang diperlukan. Artikel ini akan memperkenalkan cara menyalin fail ke bekas Docker.

1. Gunakan arahan cp docker

Docker menyediakan cp docker arahan khas, yang boleh menyalin fail antara hos dan bekas. Penggunaan khusus adalah seperti berikut:

docker cp <src_path> <container_id>:<dest_path>
docker cp <container_id>:<src_path> <dest_path>
Salin selepas log masuk

di mana, <src_path> dan <dest_path> masing-masing mewakili laluan sumber dan sasaran, dan <container_id> mewakili ID kontena.

Sebagai contoh, untuk menyalin fail /home/user/file.txt dalam hos ke direktori /var/www/ dalam bekas, anda boleh melaksanakan arahan berikut:

docker cp /home/user/file.txt <container_id>:/var/www/
Salin selepas log masuk

Begitu juga, jika anda mahu untuk Menyalin fail /var/log/nginx/access.log dalam bekas ke direktori /home/user/ mesin hos Anda boleh melaksanakan arahan berikut:

docker cp <container_id>:/var/log/nginx/access.log /home/user/
Salin selepas log masuk

Perlu diambil perhatian bahawa jika <dest_path> berakhir dengan , ia menunjukkan laluan sasaran ialah direktori Pada masa ini, anda perlu memastikan laluan sasaran wujud. Jika / tidak berakhir dengan <dest_path>, ini bermakna laluan sasaran ialah fail Dalam kes ini, anda perlu memastikan bahawa direktori atas laluan sasaran wujud. /

2. Gunakan folder kongsi

Cara lain untuk menyalin fail ke bekas Docker ialah menggunakan folder kongsi. Prasyarat untuk kaedah ini ialah direktori hos perlu dipetakan ke bahagian dalam bekas apabila mencipta bekas ini boleh dilengkapkan melalui pilihan

atau -v: --mount

docker run -v <host_dir>:<container_dir> <image_name>
Salin selepas log masuk
. atau

docker run --mount type=bind,source=<host_dir>,target=<container_dir> <image_name>
Salin selepas log masuk
Antaranya,

mewakili direktori dalam hos dan <host_dir> mewakili direktori dalam bekas. Seterusnya, direktori yang dipetakan boleh digunakan di dalam bekas seperti direktori tempatan. <container_dir>

Dalam kes ini, untuk fail yang perlu dipindahkan, anda hanya perlu meletakkannya dalam direktori yang dipetakan untuk mengaksesnya dalam bekas. Begitu juga, fail yang dijana dalam bekas juga boleh diletakkan dalam direktori yang dipetakan dan kemudian diakses dan diproses pada hos.

3. Gunakan Volume Docker

Menggunakan Volume Docker ialah cara lain untuk menyalin fail ke bekas Docker. Sama seperti folder kongsi, apabila mencipta bekas menggunakan Docker Volume, anda perlu melekapkan direktori hos ke dalam bekas. Perbezaannya ialah tindakan pelekap ini mencipta volum standard dalam daemon Docker dan mengaitkan volum ini dengan direktori dalam bekas. Ini membolehkan perkongsian fail yang cekap antara hos dan bekas tanpa bergantung pada sistem fail tempatan. Penggunaan khusus

adalah seperti berikut:

docker run -v <volume_name>:<container_dir> <image_name>
Salin selepas log masuk
atau

docker run --mount type=volume,source=<volume_name>,target=<container_dir> <image_name>
Salin selepas log masuk
Antaranya,

mewakili nama volum standard dalam Docker daemon, dan <volume_name> mewakili laluan bekas dalam . Tidak seperti folder kongsi, Docker Volumes perlu dibuat dan dipadamkan secara eksplisit. Ia boleh dilakukan dengan arahan berikut: <container_dir>

docker volume create <volume_name>
docker volume rm <volume_name>
Salin selepas log masuk
Akhir sekali, fail boleh disalin antara hos dan bekas dengan arahan berikut:

docker cp <file_path> <container_id>:<container_dir>
docker cp <container_id>:<container_dir> <file_path>
Salin selepas log masuk
Di sini,

bermaksud Laluan setempat, <file_path> mewakili ID bekas dan <container_id> mewakili direktori dalam bekas. <container_dir>

Kesimpulan

Dalam proses menggunakan bekas Docker, menyalin fail adalah sesuatu yang sering kita perlu lakukan. Artikel ini memperkenalkan tiga kaedah menyalin fail ke bekas Docker, iaitu menggunakan arahan cp docker, folder kongsi dan Volume Docker. Kaedah-kaedah ini mempunyai kebaikan dan keburukan tersendiri. Dalam amalan, anda perlu memilih kaedah yang paling sesuai dengan anda berdasarkan keperluan khusus anda.

Atas ialah kandungan terperinci Bagaimana untuk menyalin fail ke bekas docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan