Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk meletakkan fail ke dalam bekas docker

Bagaimana untuk meletakkan fail ke dalam bekas docker

PHPz
PHPzasal
2023-04-18 09:47:4110593semak imbas

Dalam pembangunan perisian moden, kami sering menggunakan Docker untuk membina dan menjalankan aplikasi. Bekas Docker boleh menyediakan persekitaran operasi yang stabil, membolehkan kami membangun, menguji dan menggunakan dengan lebih cekap. Meletakkan fail ke dalam bekas ialah operasi asas dan penting apabila menggunakan Docker. Artikel ini akan menerangkan cara meletakkan fail ke dalam bekas Docker.

1. Gunakan Dockerfile

Pertama, kita boleh menggunakan fail Dockerfile untuk menentukan fail yang perlu diletakkan dalam bekas. Fail Docker ialah fail teks yang mengandungi satu siri arahan yang mentakrifkan cara membina imej Docker. Dalam Dockerfile, kita boleh menggunakan arahan COPY untuk menyalin fail daripada hos tempatan ke bekas. Sebagai contoh, berikut ialah fail Docker mudah yang menyalin folder my_app dalam direktori semasa ke direktori /app dalam bekas:

FROM ubuntu:latest
COPY my_app /app
CMD ["bash"]

Fail Docker ini menggunakan ubuntu:latest sebagai imej asas, Dan gunakan arahan COPY untuk menyalin folder my_app ke direktori /app dalam bekas. Akhir sekali, gunakan arahan CMD untuk menentukan arahan yang akan dilaksanakan apabila bekas bermula.

Dengan melaksanakan arahan berikut, anda boleh membina imej Docker bernama my_image dalam direktori semasa:

docker build -t my_image .

Selepas pembinaan selesai, kami menjalankan imej dalam bekas, dan anda boleh Anda boleh melihat folder /app di bawah direktori my_app dalam bekas:

docker run -i -t my_image

Perlu diingat bahawa oleh kerana Fail Docker ialah fail teks biasa, laluan fail ditentukan di dalamnya adalah relatif kepada lokasi direktori Dockerfile.

2. Gunakan docker cp

Selain menggunakan Dockerfile, kita juga boleh menggunakan perintah docker cp untuk meletakkan fail ke dalam bekas. Sintaks arahan ini ialah:

docker cp <本地文件路径> <容器名称或ID>:<容器路径>

Contohnya, arahan berikut menyalin fail ~/my_file ke direktori my_container di dalam bekas bernama /app:

docker cp ~/my_file my_container:/app

Perlu diingat bahawa menggunakan perintah docker cp hanya menyalin fail ke dalam bekas dan tidak mengemas kini imej bekas itu, oleh itu, jika anda perlu terus menggunakan fail dalam bekas, adalah disyorkan untuk menggunakan Dockerfile untuk memasukkannya dalam imej.

3. Menggunakan volum data

Akhir sekali, kami juga boleh menggunakan volum data Docker (Volume) untuk meletakkan fail ke dalam bekas. Jumlah data ialah mekanisme yang memintas lapisan sistem fail dan memetakan direktori atau fail pada hos terus ke direktori atau fail dalam bekas. Oleh itu, menggunakan volum data membolehkan anda mendedahkan fail pada hos terus ke bekas.

Menggunakan volum data juga sangat mudah. Pertama, kita perlu mencipta volum data melalui parameter -v. Sebagai contoh, arahan berikut mencipta volum data bernama my_volume dan melekapkannya ke direktori /app dalam bekas:

docker run -it -v /my/local/path:/app --name my_container my_image

Pada masa ini, direktori /app dalam bekas Ia akan dipetakan ke direktori /my/local/path pada hos. Kita boleh meletakkan fail di dalam bekas dengan memanipulasi direktori /my/local/path pada mesin hos.

Di atas ialah tiga cara untuk meletakkan fail ke dalam bekas Docker. Setiap kaedah mempunyai kelebihan dan kekurangannya, dan kita perlu memilih kaedah yang sesuai mengikut situasi tertentu. Tidak kira kaedah yang digunakan, beri perhatian kepada ketepatan laluan sasaran dan kebenaran capaian bekas untuk memastikan fail itu boleh diakses dan digunakan secara normal oleh bekas.

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

Kenyataan:
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