ນີ້ແມ່ນຄໍາສັ່ງ docker-cp ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
docker-cp - ສຳເນົາໄຟລ໌/ໂຟນເດີລະຫວ່າງກ່ອງບັນຈຸ ແລະລະບົບໄຟລ໌ທ້ອງຖິ່ນ.
ສະຫຼຸບສັງລວມ
docker cp [- ຊ່ວຍ] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [- ຊ່ວຍ] SRC_PATH|- CONTAINER:DEST_PATH
ລາຍລະອຽດ
ໄດ້ docker cp utility ຄັດລອກເນື້ອໃນຂອງ SRC_PATH ການ DEST_PATH. ທ່ານສາມາດຄັດລອກຈາກ
ລະບົບໄຟລ໌ຂອງຕູ້ຄອນເທນເນີໄປຍັງເຄື່ອງທ້ອງຖິ່ນຫຼືແບບປີ້ນກັບກັນ, ຈາກລະບົບໄຟລ໌ທ້ອງຖິ່ນ
ກັບຕູ້ຄອນເທນເນີ. ຖ້າ - ຖືກກໍານົດໄວ້ສໍາລັບທັງສອງ SRC_PATH or DEST_PATH, ທ່ານຍັງສາມາດ
stream a tar archive ຈາກ STDIN ຫຼື STDOUT. ໄດ້ ບັນຈຸ ສາມາດເປັນແລ່ນຫຼືຢຸດ
ພາຊະນະ. ໄດ້ SRC_PATH or DEST_PATH ເປັນໄຟລ໌ຫຼືໄດເລກະທໍລີ.
ໄດ້ docker cp ຄໍາສັ່ງສົມມຸດວ່າເສັ້ນທາງ container ແມ່ນກ່ຽວຂ້ອງກັບ container's / (ຮາກ)
ໄດເລກະທໍລີ. ນີ້ຫມາຍຄວາມວ່າການສະຫນອງ slash ເບື້ອງຕົ້ນເບື້ອງຕົ້ນແມ່ນທາງເລືອກ; ຄໍາສັ່ງເບິ່ງ
compassionate_darwin:/tmp/foo/myfile.txt ແລະ compassionate_darwin:tmp/foo/myfile.txt as
ຄືກັນ. ເສັ້ນທາງເຄື່ອງຈັກໃນທ້ອງຖິ່ນສາມາດເປັນມູນຄ່າຢ່າງແທ້ຈິງຫຼືພີ່ນ້ອງ. ຄໍາສັ່ງ
ແປເສັ້ນທາງທີ່ກ່ຽວຂ້ອງຂອງເຄື່ອງຈັກທ້ອງຖິ່ນເປັນທີ່ກ່ຽວຂ້ອງກັບໄດເລກະທໍລີທີ່ເຮັດວຽກໃນປະຈຸບັນ
ບ່ອນທີ່ docker cp ແມ່ນໄດ້ດໍາເນີນການ.
ໄດ້ cp ຄໍາສັ່ງປະຕິບັດຕົວຄືກັບ Unix cp -a ຄໍາສັ່ງໃນໄດເລກະທໍລີນັ້ນຖືກຄັດລອກ
recursively ໂດຍມີການອະນຸຍາດເກັບຮັກສາໄວ້ຖ້າເປັນໄປໄດ້. ຄວາມເປັນເຈົ້າຂອງຖືກກໍານົດໃຫ້ຜູ້ໃຊ້ແລະ
ກຸ່ມຕົ້ນຕໍຢູ່ທີ່ຈຸດຫມາຍປາຍທາງ. ຕົວຢ່າງ, ໄຟລ໌ທີ່ຄັດລອກໃສ່ຖັງແມ່ນຖືກສ້າງຂຶ້ນ
ກັບ UID:GID ຂອງຜູ້ໃຊ້ຮາກ. ໄຟລ໌ທີ່ສໍາເນົາກັບເຄື່ອງໃນທ້ອງຖິ່ນແມ່ນໄດ້ສ້າງຕັ້ງຂື້ນກັບ
UID:GID ຂອງຜູ້ໃຊ້ທີ່ຮຽກຮ້ອງ docker cp ຄໍາສັ່ງ. ຖ້າເຈົ້າລະບຸ -L ທາງເລືອກ,
docker cp ປະຕິບັດຕາມການເຊື່ອມຕໍ່ສັນຍາລັກໃດໆໃນ SRC_PATH.
ສົມມຸດຕົວແຍກເສັ້ນທາງຂອງ /, ການໂຕ້ຖຽງທໍາອິດຂອງ SRC_PATH ແລະການໂຕ້ຖຽງທີສອງຂອງ
DEST_PATH, ພຶດຕິກໍາດັ່ງຕໍ່ໄປນີ້:
· SRC_PATH ລະບຸໄຟລ໌
· DEST_PATH ບໍ່ມີ
· ໄຟລ໌ຖືກບັນທຶກໄວ້ໃນໄຟລ໌ທີ່ສ້າງຂຶ້ນຢູ່ DEST_PATH
· DEST_PATH ບໍ່ມີຢູ່ແລະສິ້ນສຸດລົງດ້ວຍ /
· ເງື່ອນໄຂຄວາມຜິດພາດ: ໄດເລກະທໍລີປາຍທາງຕ້ອງມີຢູ່.
· DEST_PATH ມີຢູ່ແລະເປັນໄຟລ໌
· ຈຸດໝາຍປາຍທາງຖືກຂຽນທັບດ້ວຍເນື້ອໃນຂອງໄຟລ໌ແຫຼ່ງ
· DEST_PATH ມີຢູ່ແລະເປັນໄດເລກະທໍລີ
·ໄຟລ໌ໄດ້ຖືກຄັດລອກເຂົ້າໄປໃນໄດເລກະທໍລີນີ້ໂດຍໃຊ້ຊື່ພື້ນຖານຈາກ SRC_PATH
· SRC_PATH ລະບຸໄດເລກະທໍລີ
· DEST_PATH ບໍ່ມີ
· DEST_PATH ຖືກສ້າງຂື້ນເປັນໄດເລກະທໍລີແລະ ເນື້ອຫາ ຂອງໄດເລກະທໍລີແຫຼ່ງໄດ້ຖືກຄັດລອກ
ເຂົ້າໄປໃນໄດເລກະທໍລີນີ້
· DEST_PATH ມີຢູ່ແລະເປັນໄຟລ໌
· ເງື່ອນໄຂຄວາມຜິດພາດ: ບໍ່ສາມາດຄັດລອກໄດເລກະທໍລີໃສ່ໄຟລ໌ໄດ້
· DEST_PATH ມີຢູ່ແລະເປັນໄດເລກະທໍລີ
· SRC_PATH ບໍ່ສິ້ນສຸດດ້ວຍ /.
· ໄດເລກະທໍລີແຫຼ່ງແມ່ນຄັດລອກໃສ່ໄດເລກະທໍລີນີ້
· SRC_PATH ບໍ່ສິ້ນສຸດດ້ວຍ /.
· ໄດ້ ເນື້ອໃນ ຂອງໄດເລກະທໍລີແຫຼ່ງແມ່ນຄັດລອກເຂົ້າໄປໃນໄດເລກະທໍລີນີ້
ຄໍາສັ່ງຕ້ອງການ SRC_PATH ແລະ DEST_PATH ເພື່ອໃຫ້ມີຢູ່ຕາມກົດລະບຽບຂ້າງເທິງ. ຖ້າ
SRC_PATH ແມ່ນທ້ອງຖິ່ນແລະເປັນການເຊື່ອມໂຍງສັນຍາລັກ, ການເຊື່ອມໂຍງສັນຍາລັກ, ບໍ່ແມ່ນເປົ້າຫມາຍ, ຖືກຄັດລອກໂດຍ
ຄ່າເລີ່ມຕົ້ນ. ເພື່ອຄັດລອກເປົ້າຫມາຍການເຊື່ອມໂຍງແລະບໍ່ແມ່ນການເຊື່ອມຕໍ່, ໃຫ້ລະບຸ -L ທາງເລືອກ.
ຈໍ້າສອງເມັດ (:) ຖືກນໍາໃຊ້ເປັນຕົວກໍານົດລະຫວ່າງ ບັນຈຸ ແລະເສັ້ນທາງຂອງມັນ. ນອກນັ້ນທ່ານຍັງສາມາດນໍາໃຊ້ : ໃນເວລາທີ່
ການລະບຸເສັ້ນທາງໄປຫາ ກ SRC_PATH or DEST_PATH ສໍາລັບຕົວຢ່າງ, ໃນເຄື່ອງທ້ອງຖິ່ນ
ໄຟລ໌:name.txt. ຖ້າທ່ານໃຊ້ a : ໃນເສັ້ນທາງເຄື່ອງຈັກໃນທ້ອງຖິ່ນ, ທ່ານຕ້ອງມີຄວາມຊັດເຈນກັບ a
ເສັ້ນທາງທີ່ກ່ຽວຂ້ອງຫຼືຢ່າງແທ້ຈິງ, ຕົວຢ່າງ:
`/path/to/file:name.txt` ຫຼື `./file:name.txt`
ມັນເປັນໄປບໍ່ໄດ້ທີ່ຈະຄັດລອກໄຟລ໌ລະບົບບາງຢ່າງເຊັ່ນ: ຊັບພະຍາກອນພາຍໃຕ້ / proc, / sys, / dev,
ແລະ mounts ທີ່ສ້າງໂດຍຜູ້ໃຊ້ໃນ container ໄດ້.
ການນໍາໃຊ້ - ເປັນ SRC_PATH streams ເນື້ອໃນຂອງ STDIN ເປັນບ່ອນເກັບມ້ຽນ tar. ຄໍາສັ່ງ
ສະກັດເນື້ອໃນຂອງ tar ໄດ້ DEST_PATH ໃນລະບົບໄຟລ໌ຂອງ container. ໃນກໍລະນີນີ້,
DEST_PATH ຕ້ອງລະບຸໄດເລກະທໍລີ. ການນໍາໃຊ້ - as DEST_PATH streams ເນື້ອໃນຂອງ
ຊັບພະຍາກອນເປັນ tar archive ກັບ STDOUT.
OPTIONS
-L, --ຕິດຕາມ-ລິ້ງ=ທີ່ແທ້ຈິງ|ທີ່ບໍ່ຖືກຕ້ອງ
ຕິດຕາມລິ້ງສັນຍາລັກໃນ SRC_PATH
- ຊ່ວຍ
ພິມຄໍາຖະແຫຼງການການນໍາໃຊ້
ຕົວຢ່າງ
ສົມມຸດວ່າຕູ້ຄອນເທນເນີໄດ້ສໍາເລັດການຜະລິດບາງຜົນຜະລິດເປັນໄຟລ໌ທີ່ມັນບັນທຶກໄປບາງບ່ອນ
ລະບົບໄຟລ໌ຂອງຕົນ. ນີ້ອາດຈະເປັນຜົນຜະລິດຂອງວຽກກໍ່ສ້າງຫຼືການຄິດໄລ່ອື່ນໆ. ເຈົ້າສາມາດ
ຄັດລອກຜົນຜະລິດເຫຼົ່ານີ້ຈາກຕູ້ຄອນເທນເນີໄປຫາສະຖານທີ່ຢູ່ໃນເຈົ້າພາບທ້ອງຖິ່ນຂອງທ່ານ.
ຖ້າທ່ານຕ້ອງການຄັດລອກ /tmp/foo ໄດເລກະທໍລີຈາກກ່ອງບັນຈຸໄປຫາບ່ອນທີ່ມີຢູ່ / tmp ລະບົບ
ໃນເຈົ້າພາບຂອງເຈົ້າ. ຖ້າເຈົ້າແລ່ນ docker cp ຢູ່ໃນໄດເລກະທໍລີ (ເຮືອນ) ຂອງທ່ານຢູ່ໃນໂຮດທ້ອງຖິ່ນ:
$ docker cp compassionate_darwin:tmp/foo / tmp
Docker ສ້າງ a /tmp/foo ໄດເລກະທໍລີຢູ່ໃນເຈົ້າພາບຂອງເຈົ້າ. ອີກທາງເລືອກ, ທ່ານສາມາດລະເວັ້ນການນໍາພາ
slash ໃນຄໍາສັ່ງ. ຖ້າທ່ານປະຕິບັດຄໍາສັ່ງນີ້ຈາກໄດເລກະທໍລີຫນ້າທໍາອິດຂອງທ່ານ:
$ docker cp compassionate_darwin: tmp/foo tmp
If / tmp ບໍ່ມີ, Docker ຈະສ້າງມັນແລະຄັດລອກເນື້ອຫາຂອງ /tmp/foo ຈາກ
container ເຂົ້າໄປໃນໄດເລກະທໍລີໃຫມ່ນີ້. ຖ້າ / tmp ມີຢູ່ແລ້ວເປັນໄດເລກະທໍລີ, ຈາກນັ້ນ Docker
ຈະຄັດລອກເນື້ອໃນຂອງ /tmp/foo ຈາກຖັງເຂົ້າໄປໃນໄດເລກະທໍລີທີ່ /tmp/foo.
ເມື່ອຄັດລອກໄຟລ໌ດຽວໄປຫາໄຟລ໌ທີ່ມີຢູ່ແລ້ວ ທ້ອງຖິ່ນ, ການ docker cp ຄໍາສັ່ງຈະບໍ່ວ່າຈະ
ຂຽນທັບເນື້ອໃນຂອງ ທ້ອງຖິ່ນ ຖ້າມັນເປັນໄຟລ໌ຫຼືວາງມັນໃສ່ ທ້ອງຖິ່ນ ຖ້າຫາກວ່າມັນເປັນ
directory, overwrite ໄຟລ໌ທີ່ມີຢູ່ແລ້ວຂອງຊື່ດຽວກັນຖ້າຫາກວ່າມີຢູ່. ຕົວຢ່າງ, ນີ້
ຄໍາສັ່ງ:
$ docker cp sharp_ptolemy:/tmp/foo/myfile.txt /test
If / ການທົດສອບ ບໍ່ມີຢູ່ໃນເຄື່ອງທ້ອງຖິ່ນ, ມັນຈະຖືກສ້າງເປັນໄຟລ໌ທີ່ມີ
ເນື້ອໃນຂອງ /tmp/foo/myfile.txt ຈາກຕູ້ຄອນເທນເນີ. ຖ້າ / ການທົດສອບ ມີຢູ່ເປັນໄຟລ໌, ມັນຈະເປັນ
ຂຽນທັບ. ສຸດທ້າຍ, ຖ້າ / ການທົດສອບ ມີຢູ່ໃນໄດເລກະທໍລີ, ໄຟລ໌ຈະຖືກຄັດລອກໃສ່
/test/myfile.txt.
ຕໍ່ໄປ, ສົມມຸດວ່າທ່ານຕ້ອງການຄັດລອກໄຟລ໌ຫຼືໂຟນເດີເຂົ້າໄປໃນຖັງ. ສໍາລັບຕົວຢ່າງ, ນີ້ສາມາດ
ເປັນໄຟລ໌ການຕັ້ງຄ່າ ຫຼືການປ້ອນຂໍ້ມູນອື່ນໆໃຫ້ກັບການຄິດໄລ່ທີ່ເຮັດວຽກດົນໆທີ່ເຈົ້າຕ້ອງການ
ມັກເອົາເຂົ້າໄປໃນຖັງທີ່ສ້າງຂຶ້ນກ່ອນທີ່ຈະເລີ່ມຕົ້ນ. ນີ້ແມ່ນເປັນປະໂຫຍດເພາະວ່າມັນເຮັດ
ບໍ່ຮຽກຮ້ອງໃຫ້ມີໄຟລ໌ການຕັ້ງຄ່າຫຼືການປ້ອນຂໍ້ມູນອື່ນໆທີ່ຈະມີຢູ່ໃນຮູບບັນຈຸ.
ຖ້າທ່ານມີໄຟລ໌, config.yml, ໃນໄດເລກະທໍລີປະຈຸບັນກ່ຽວກັບເຈົ້າພາບທ້ອງຖິ່ນຂອງທ່ານແລະຕ້ອງການ
ຄັດລອກໄປທີ່ໄດເລກະທໍລີທີ່ມີຢູ່ /etc/my-app.d ໃນຖັງ, ຄໍາສັ່ງນີ້ສາມາດເປັນ
ໃຊ້:
$ docker cp config.yml myappcontainer:/etc/my-app.d
ຖ້າທ່ານມີໄຟລ໌ຫຼາຍໄຟລ໌ຢູ່ໃນໄດເລກະທໍລີທ້ອງຖິ່ນ / config ທີ່ທ່ານຕ້ອງການຄັດລອກໃສ່ a
ລະບົບ /etc/my-app.d ຢູ່ໃນຖັງ:
$ docker cp /config/. myappcontainer:/etc/my-app.d
ຄໍາສັ່ງຂ້າງເທິງນີ້ຈະຄັດລອກເນື້ອຫາຂອງທ້ອງຖິ່ນ / config ໄດເລກະທໍລີເຂົ້າໄປໃນໄດເລກະທໍລີ
/etc/my-app.d ໃນພາຊະນະ.
ສຸດທ້າຍ, ຖ້າທ່ານຕ້ອງການຄັດລອກຕົວເຊື່ອມຕໍ່ທີ່ເປັນສັນຍາລັກເຂົ້າໄປໃນຖັງ, ປົກກະຕິແລ້ວທ່ານຕ້ອງການຄັດລອກ
ເປົ້າຫມາຍທີ່ເຊື່ອມໂຍງແລະບໍ່ແມ່ນການເຊື່ອມຕໍ່ຕົວມັນເອງ. ເພື່ອຄັດລອກເປົ້າຫມາຍດັ່ງກ່າວ, ໃຫ້ໃຊ້ -L ທາງເລືອກ, ສໍາລັບ
ຍົກຕົວຢ່າງ:
$ ln -s /tmp/somefile /tmp/somefile.ln
$ docker cp -L /tmp/somefile.ln myappcontainer:/ tmp /
ຄໍາສັ່ງນີ້ຄັດລອກເນື້ອຫາຂອງທ້ອງຖິ່ນ /tmp/somefile ເຂົ້າໄປໃນໄຟລ໌ /tmp/somefile.ln in
ບັນຈຸ. ໂດຍບໍ່ມີການ -L ທາງເລືອກ, ໄດ້ /tmp/somefile.ln ຮັກສາການເຊື່ອມຕໍ່ສັນຍາລັກຂອງມັນແຕ່ບໍ່ແມ່ນ
ເນື້ອໃນຂອງມັນ.
ປະຫວັດຄວາມເປັນ
ເດືອນເມສາ 2014, ລວບລວມໃນເບື້ອງຕົ້ນໂດຍ William Henry (whenry at redhat dot com) ໂດຍອີງໃສ່
docker.com ແຫຼ່ງອຸປະກອນແລະການເຮັດວຽກພາຍໃນ. ເດືອນມິຖຸນາ 2014, ປັບປຸງໂດຍ Sven Dowideit
⟨[email protected]⟩ ເດືອນພຶດສະພາ 2015, ປັບປຸງໂດຍ Josh Hawn ⟨[email protected]⟩
ໃຊ້ docker-cp ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net