Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menyalin fail hos ke docker

Bagaimana untuk menyalin fail hos ke docker

PHPz
PHPzasal
2023-04-18 17:07:395736semak imbas

Hari ini, penggunaan Docker dalam pembangunan perisian telah menjadi arus perdana kerana ia boleh membina, menggunakan dan mengurus aplikasi dengan cepat. Docker digunakan secara meluas untuk mencipta dan menjalankan bekas kerana ciri mudah alih dan ringannya. Walau bagaimanapun, ramai orang mungkin menghadapi beberapa masalah apabila bekerja dengan fail dalam Docker. Artikel ini akan mengajar anda cara mudah menyalin fail pada hos ke Docker.

Cara menyalin fail dalam Docker

Untuk menyalin fail daripada hos ke Docker, kita boleh menggunakan arahan yang disertakan dengan Docker: docker cp. Perintah ini boleh menyalin fail atau direktori daripada hos ke bekas Docker yang sedang berjalan, atau menyalin fail daripada bekas Docker yang sedang berjalan ke hos.

Sintaksnya adalah seperti berikut:

docker cp <src_path> <container_id>:<dest_path>

Arahan ini sangat mudah, di mana:

  • <src_path>: Laluan fail atau folder ke disalin
  • <container_id>: ID bekas Docker
  • <dest_path>: Laluan sasaran dalam bekas Docker untuk disalin ke

Contohnya , jika anda ingin menyalin Fail myfile.txt disalin ke direktori mycontainer bekas Docker bernama /app Anda boleh melakukan ini seperti berikut:

docker cp myfile.txt mycontainer:/app

Arahan ini menyalin <.> fail ke direktori bernama myfile.txt dalam direktori mycontainer bekas Docker. /app

Untuk menyalin fail dalam bekas Docker kembali ke hos, kita boleh menggunakan arahan yang serupa:

docker cp <container_id>:<src_path> <dest_path>
Di mana:

  • : ID Bekas Docker <container_id>
  • : Laluan fail atau folder yang hendak disalin <src_path>
  • : Laluan sasaran dalam hos untuk disalin <dest_path>
Sebagai contoh, jika anda ingin menyalin fail

dalam bekas Docker bernama mycontainer ke direktori /app/myfile.txt mesin hos, anda boleh melakukannya seperti berikut: ~/Downloads

docker cp mycontainer:/app/myfile.txt ~/Downloads
Ini arahan Salin fail

dalam bekas mycontainer ke direktori /app/myfile.txt pada mesin hos. ~/Downloads

Bagaimana untuk menyalin fail dalam Dockerfile

Kaedah di atas memerlukan melaksanakan arahan secara manual selepas memulakan bekas Docker, tetapi bagaimana jika anda mahu menyalin fail secara automatik ke dalam bekas semasa mencipta imej Docker? Jangan risau, kita boleh mencapai ini menggunakan perintah

dalam Dockerfile. COPY

Sintaks arahan adalah seperti berikut: COPY

COPY <src_path> <dest_path>
Di mana:

  • : Laluan fail atau folder yang hendak disalin <src_path>
  • : Laluan sasaran dalam bekas Docker untuk disalin ke <dest_path>
Contohnya, yang berikut ialah Dockerfile berdasarkan imej Python rasmi, yang menyalin

fail dalam direktori semasa ke bekas Dalam direktori requirements.txt: /app

FROM python:3.9-slim-buster
WORKDIR /app
COPY requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
CMD [ "python", "./app.py" ]
Dalam Fail Docker ini, perintah

menyalin fail COPY requirements.txt /app ke direktori requirements.txt dalam bekas Docker . Perintah /app menggunakan fail ini untuk memasang kebergantungan yang diperlukan. Perintah RUN terakhir menyalin keseluruhan aplikasi ke dalam bekas. COPY

Ringkasan

Dalam artikel ini, kami mempelajari cara menyalin fail dalam Docker. Menggunakan perintah

, kita boleh menyalin fail daripada hos ke bekas Docker yang sedang berjalan atau daripada bekas ke hos. Selain itu, dalam Dockerfile, kita boleh menggunakan perintah docker cp untuk mencapai penyalinan automatik dari hos ke bekas. COPY

Saya harap artikel ini membantu anda dan membolehkan anda mengurus dan menggunakan bekas Docker dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk menyalin fail hos ke 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