Rumah >Operasi dan penyelenggaraan >Docker >Apakah perbezaan antara salin dan tambah arahan dalam docker
Perbezaan: Arahan COPY tidak menyokong mendapatkan sumber daripada URL jauh Ia hanya boleh membaca sumber daripada hos tempat binaan docker dilaksanakan dan menyalinnya ke imej manakala arahan ADD menyokong mendapatkan sumber daripada URL jauh , yang boleh diperolehi melalui URL Baca sumber dari pelayan jauh dan salinnya ke imej.
Persekitaran pengendalian tutorial ini: sistem linux5.9.8, versi docker-1.13.1, komputer Dell G3.
Kedua-dua arahan COPY dan arahan TAMBAH dalam Dockerfile boleh menyalin atau menambah sumber pada hos kepada imej bekas, dan semuanya selesai semasa proses membina imej.
Perbezaan antara ADD dan COPY DockerFile
Satu-satunya perbezaan antara arahan COPY dan arahan ADD ialah: sama ada ia menyokong memperoleh daripada sumber URL jauh.
Arahan COPY hanya boleh membaca sumber daripada hos tempat binaan docker dilaksanakan dan menyalinnya ke imej. Arahan ADD juga menyokong sumber bacaan dari pelayan jauh melalui URL dan menyalinnya ke imej.
Untuk keperluan yang sama, disyorkan untuk menggunakan arahan COPY. Arahan ADD adalah lebih baik untuk membaca fail tar tempatan dan menyahmampatnya.
Arahan TAMBAH dan SALIN
COPY mempunyai sintaks yang sama seperti ADD, menyalin fail.
TAMBAH
Menyalin fail baharu, direktori atau URL fail jauh cbce1a3cf2f839037583dce8e845670b dan menambahkannya ke 6be58d1426a577c69ada50a4bc87dd69.
cbce1a3cf2f839037583dce8e845670b Berbilang sumber boleh ditentukan, tetapi jika ia adalah fail atau direktori, laluannya ditafsirkan secara relatif kepada sumber konteks binaan, iaitu _WORKDIR_.
Setiap cbce1a3cf2f839037583dce8e845670b mungkin mengandungi kad bebas, dan padanan akan menggunakan laluan fail Go.Peraturan padanan. Contohnya:
Tambah semua fail bermula dengan "hom":
ADD hom* /mydir/
Dalam contoh di bawah, ? digantikan dengan mana-mana aksara tunggal, seperti "home.txt".
ADD hom?.txt /mydir/
6be58d1426a577c69ada50a4bc87dd69 ialah laluan mutlak atau laluan relatif ke WORKDIR.
Arahan ADD mempunyai kelebihan berikut:
1 Jika laluan sumber ialah fail dan laluan sasaran berakhir dengan /, maka docker Laluan sasaran akan dianggap sebagai direktori, dan fail sumber akan disalin ke direktori.
Jika laluan sasaran tidak wujud, laluan sasaran akan dibuat secara automatik.
2 Jika laluan sumber ialah fail dan laluan sasaran tidak berakhir dengan /, docker akan menganggap laluan sasaran sebagai fail.
Jika laluan sasaran tidak wujud, fail akan dibuat dengan nama laluan sasaran, dan kandungan akan daripada sumber yang sama dengan fail
Jika fail sasaran ialah fail sedia ada, ia akan ditimpa dengan fail sumber Sudah tentu, hanya kandungan yang akan ditimpa, dan nama fail akan sama.
Jika fail sasaran benar-benar wujud dalam direktori sedia ada, fail sumber akan disalin ke direktori tersebut. Ambil perhatian bahawa dalam kes ini adalah lebih baik untuk menamatkan paparan dengan / untuk mengelakkan kekeliruan.
3 Jika laluan sumber ialah direktori dan laluan sasaran tidak wujud, docker secara automatik akan mencipta direktori dengan laluan sasaran dan menyalin fail dalam direktori laluan sumber.
Jika laluan sasaran ialah direktori sedia ada, docker akan menyalin fail dalam direktori laluan sumber ke direktori.
4 Jika fail sumber ialah fail arkib (fail termampat), docker akan menyahmampatnya secara automatik.
Kelebihan di atas juga merupakan keburukan ADD
Pembelajaran yang disyorkan: "tutorial video docker"
Atas ialah kandungan terperinci Apakah perbezaan antara salin dan tambah arahan dalam docker. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!