Docker ialah alat virtualisasi popular yang memudahkan untuk membina, menerbitkan dan menjalankan aplikasi. Ia berdasarkan teknologi kontena dan menggunakan berbilang lapisan untuk mengurus pelbagai kebergantungan aplikasi, yang boleh mengasingkan aplikasi sepenuhnya dan menjadikannya lebih mudah alih dan berskala. Apabila menggunakan Docker, kita selalunya perlu menyalin sistem fail berbilang bekas. Di sini kami akan memperkenalkan cara Docker menyalin sistem fail untuk memudahkan pemindahan dan perkongsian fail antara bekas yang berbeza.
1. Gunakan arahan cp docker
Antara muka baris arahan Docker menyediakan arahan cp Dockerfile, yang boleh digunakan untuk menyalin fail ke bekas atau menyalin fail dari bekas ke tempatan. Penggunaannya adalah seperti berikut:
docker cp [OPTIONS] CONTAINER:SRC_PATH LOCAL_DEST_PATH docker cp [OPTIONS] LOCAL_SRC_PATH CONTAINER:DEST_PATH
di mana CONTAINER mewakili nama bekas atau ID bekas; SRC_PATH mewakili direktori atau fail dalam bekas, yang disambungkan kepada nama kontena melalui :
; LOCAL_DEST_PATH mewakili laluan sistem fail tempatan, yang mewakili laluan dari Bekas disalin ke tempatan LOCAL_SRC_PATH mewakili laluan sistem fail tempatan, yang bermaksud disalin dari setempat ke bekas. Kita boleh memasukkan arahan berikut dalam terminal untuk menyalin fail dalam bekas ke setempat:
docker cp my-container:/path/to/file /local/destination
Ini akan menyalin fail my-container
dalam bekas /path/to/file
ke direktori /local/destination
.
Kami juga boleh menggunakan kad bebas untuk menyalin keseluruhan direktori, seperti:
docker cp my-container:/path/to/dir/* /local/destination
Ini akan menyalin semua fail dan sub-fail dalam direktori my-container
dalam bekas /path/to/dir
kepada /local/destination
Jadual kandungan.
2. Salin fail ke bekas lain dalam rangkaian yang sama
Kami sering memautkan berbilang bekas dalam rangkaian yang sama untuk penemuan perkhidmatan dan komunikasi antara bekas. Dalam kes ini, kita boleh menggunakan perintah docker cp
untuk menyalin fail ke bekas lain dalam rangkaian yang sama. Pertama, kita perlu mengetahui alamat IP bekas yang ingin kita salin. Kita boleh mendapatkan alamat IP bekas dengan menjalankan arahan berikut:
docker inspect --format '{{ .NetworkSettings.IPAddress }}' CONTAINER_NAME_OR_ID
Ini akan mengembalikan alamat IP bekas. Kami kemudiannya boleh menyalin fail ke bekas lain menggunakan arahan berikut:
docker cp /local_path/file.txt CONTAINER_NAME_OR_ID:/path/within/container/
Ini akan menyalin fail tempatan ke bekas lain dalam rangkaian yang sama.
3. Salin fail ke hos Docker jauh
Jika kami ingin menyalin fail ke hos Docker jauh, kami perlu menggunakan SSH. SSH membolehkan kami mewujudkan sambungan jauh yang selamat dan menjalankan arahan di dalamnya. Mula-mula, kami perlu memastikan kami telah menambah kunci SSH hos Docker jauh yang ingin kami sambungkan ke cincin kunci kami. Kami kemudiannya boleh menyalin fail menggunakan arahan berikut:
docker cp /local_path/filename.txt ssh://user@remotehost:/path/within/container/filename.txt
Ini akan menyalin fail ke direktori yang ditentukan pada hos jauh. Sila ambil perhatian bahawa apabila menyambung ke hos Docker jauh melalui SSH, pengguna mesti mempunyai kebenaran yang mencukupi untuk mengakses hos dan bekas jauh.
Ringkasan
Melalui kaedah di atas, kita boleh menggunakan arahan cp docker untuk menyalin sistem fail untuk memudahkan pemindahan dan perkongsian fail antara bekas yang berbeza. Dengan pendekatan ini, kami boleh melaksanakan banyak senario yang berbeza, seperti menyalin fail dari satu bekas ke bekas yang lain, menyalin fail dari bekas ke tempatan atau menyalin fail ke hos Docker jauh. Ini menjadikan Docker lebih fleksibel dalam penggunaan sebenar, membolehkan kami bertindak balas dengan lebih baik kepada pelbagai keperluan.
Atas ialah kandungan terperinci Bagaimana untuk menyalin sistem fail dalam docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!