How-To Move Docker Container to Another Host With Data Volumes
Isi kandungan:
- Mengeluarkan Semua Objek Tidak Digunakan
- Mengeluarkan Container Docker
- Keluarkan satu atau lebih bekas
- Keluarkan semua bekas yang berhenti
- Keluarkan bekas menggunakan penapis
- Berhenti dan keluarkan semua bekas
- Mengalih keluar Imej Docker
- Keluarkan satu atau lebih imej
- Keluarkan imej yang menggantung
- Alih keluar semua imej yang tidak digunakan
- Keluarkan imej menggunakan penapis
- Mengeluarkan Volum Docker
- Keluarkan satu atau lebih jumlah
- Keluarkan semua volum yang tidak digunakan
- Mengeluarkan Rangkaian Docker
- Keluarkan satu atau lebih rangkaian
- Keluarkan semua rangkaian yang tidak digunakan
- Keluarkan rangkaian menggunakan penapis
- Kesimpulannya
Docker membolehkan anda dengan cepat membina, menguji, dan menggunakan aplikasi sebagai bekas mudah alih, mandiri yang dapat berjalan hampir di mana saja.
Docker tidak membuang objek yang tidak digunakan seperti bekas, imej, jilid, dan rangkaian melainkan anda secara eksplisit memberitahunya untuk berbuat demikian. Semasa anda bekerja dengan Docker, anda boleh dengan mudah mengumpulkan sejumlah besar objek yang tidak digunakan yang menggunakan ruang cakera yang signifikan dan kekacauan output yang dihasilkan oleh perintah Docker.
Panduan ini berfungsi sebagai "kunci cheat" untuk membantu pengguna Docker mengekalkan sistem mereka, dan untuk membebaskan ruang cakera dengan mengeluarkan bekas, gambar, jilid dan rangkaian Docker yang tidak digunakan.
Mengeluarkan Semua Objek Tidak Digunakan
Perintah
docker system prune
akan mengeluarkan semua bekas yang dihentikan, semua imej yang ditarik dan semua rangkaian yang tidak digunakan:
docker system prune
Anda akan diminta untuk meneruskan, gunakan flag
-f
atau
--force
untuk memintas prompt.
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache Are you sure you want to continue?
docker system prune --volumes
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all volumes not used by at least one container - all dangling images - all build cache Are you sure you want to continue? y
Mengeluarkan Container Docker
--rm
tidak dikeluarkan secara automatik apabila anda menghentikannya melainkan anda memulakan kontena menggunakan bendera
--rm
.
Keluarkan satu atau lebih bekas
Untuk mengalih keluar satu atau lebih imej Docker gunakan perintah
docker container rm
diikuti dengan ID kontena yang anda ingin alih keluar.
Anda boleh mendapatkan senarai semua bekas dengan lulus bendera-bendera ke perintah
docker container ls
:
docker container ls -a
Keluaran seharusnya kelihatan seperti ini:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES cc3f2ff51cab centos "/bin/bash" 2 months ago Created competent_nightingale cd20b396a061 solita/ubuntu-systemd "/bin/bash -c 'exec …" 2 months ago Exited (137) 2 months ago systemd fb62432cf3c1 ubuntu "/bin/bash" 3 months ago Exited (130) 3 months ago jolly_mirzakhani
Sebaik sahaja anda mengetahui
CONTAINER ID
dari bekas yang anda ingin padam, lulus ke perintah
docker container rm
. Contohnya, untuk mengeluarkan dua bekas pertama yang disenaraikan dalam output di atas berjalan:
docker container rm cc3f2ff51cab cd20b396a061
Error response from daemon: You cannot remove a running container fc983ebf4771d42a8bd0029df061cb74dc12cb174530b2036987575b83442b47. Stop the container before attempting removal or force remove.
Keluarkan semua bekas yang berhenti
Sebelum melaksanakan perintah penyingkiran, anda boleh mendapatkan senarai semua bekas yang tidak berjalan (berhenti) yang akan dialih keluar dengan menggunakan arahan berikut:
docker container ls -a --filter status=exited --filter status=created
Untuk mengalih keluar semua bekas yang berhenti menggunakan perintah
docker container prune
:
docker container prune
Anda akan diminta untuk meneruskan, gunakan flag
-f
atau
--force
untuk memintas prompt.
WARNING! This will remove all stopped containers. Are you sure you want to continue? y
Keluarkan bekas menggunakan penapis
Peranti
docker container prune
membenarkan anda membuang bekas berdasarkan syarat menggunakan bendera -
--filter
.
Pada masa penulisan artikel ini, penapis yang disokong saat ini adalah
until
dan
label
. Anda boleh menggunakan lebih daripada satu penapis dengan menggunakan pelbagai
--filter
bendera
--filter
.
Contohnya, untuk mengalih keluar semua imej yang dibuat lebih daripada 12 jam yang lalu, jalankan:
docker container prune --filter "until=12h"
Berhenti dan keluarkan semua bekas
Anda boleh mendapatkan senarai semua bekas Docker pada sistem anda menggunakan perintah
docker container ls -aq
.
Untuk menghentikan semua kontena yang sedang berjalan menggunakan arahan
docker container stop
diikuti dengan senarai semua ID kontena.
docker container stop $(docker container ls -aq)
Sebaik sahaja semua bekas dimatikan, anda boleh mengeluarkannya dengan menggunakan perintah
docker container rm
diikuti dengan senarai ID kontena.
docker container rm $(docker container ls -aq)
Mengalih keluar Imej Docker
Keluarkan satu atau lebih imej
Untuk mengeluarkan satu atau lebih imej Docker gunakan perintah
docker images ls
untuk mencari ID imej yang anda ingin alih keluar.
docker image ls
Keluaran seharusnya kelihatan seperti ini:
REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 75835a67d134 7 days ago 200MB ubuntu latest 2a4cca5ac898 2 months ago 111MB linuxize/fedora latest a45d6dca3361 3 months ago 311MB java 8-jre e44d62cf8862 3 months ago 311MB
Sebaik sahaja anda telah melihat imej yang ingin anda keluarkan, lulus
IMAGE ID
mereka ke perintah
docker image rm
. Sebagai contoh, untuk mengeluarkan dua imej pertama yang disenaraikan dalam output di atas berjalan:
docker image rm 75835a67d134 2a4cca5ac898
Error response from daemon: conflict: unable to remove repository reference "centos" (must force) - container cd20b396a061 is using its referenced image 75835a67d134
Keluarkan imej yang menggantung
Docker menyediakan perintah
docker image prune
yang boleh digunakan untuk membuang imej bergoyang dan tidak digunakan.
Imej menggantung adalah imej yang tidak ditandai dan tidak digunakan oleh mana-mana bekas. Untuk mengalih keluar jenis imej yang digantung:
docker image prune
Anda akan diminta untuk meneruskan, gunakan flag
-f
atau
--force
untuk memintas prompt.
WARNING! This will remove all dangling images. Are you sure you want to continue? y
Apabila mengalih keluar imej yang ditelan, jika imej yang dibina oleh anda tidak ditandai, ia akan dikeluarkan juga.
Alih keluar semua imej yang tidak digunakan
Untuk mengalih keluar semua imej yang tidak dirujuk oleh mana-mana bekas sedia ada, bukan hanya yang menggantungnya, gunakan perintah
prune
dengan bendera
-a
:
docker image prune -a
WARNING! This will remove all images without at least one container associated to them. Are you sure you want to continue? y
Keluarkan imej menggunakan penapis
Dengan perintah
docker image prune
, anda juga boleh mengeluarkan imej berdasarkan keadaan tertentu menggunakan bendera penapisan -
--filter
.
Pada masa penulisan artikel ini, penapis yang disokong saat ini adalah
until
dan
label
. Anda boleh menggunakan lebih daripada satu penapis dengan menggunakan pelbagai
--filter
bendera
--filter
.
Sebagai contoh, untuk menghapuskan semua imej yang dicipta lebih daripada 12 jam yang lalu, anda akan menjalankan:
docker image prune -a --filter "until=12h"
Mengeluarkan Volum Docker
Keluarkan satu atau lebih jumlah
Untuk mengalih keluar satu atau lebih jumlah Docker gunakan arahan
docker volume ls
untuk mencari ID jilid yang anda ingin alih keluar.
docker volume ls
Keluaran seharusnya kelihatan seperti ini:
DRIVER VOLUME NAME local 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163 local terano
Sebaik sahaja anda menemui
VOLUME NAME
daripada jumlah yang ingin anda keluarkan,
docker volume rm
command
docker volume rm
docker. Sebagai contoh, untuk mengeluarkan kelantangan pertama yang disenaraikan dalam output di atas, jalankan:
docker volume rm 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163
Error response from daemon: remove 4e12af8913af888ba67243dec78419bf18adddc3c7a4b2345754b6db64293163: volume is in use -
Keluarkan semua volum yang tidak digunakan
Untuk mengalih keluar semua volum yang tidak digunakan gunakan perintah
docker image prune
:
docker volume prune
Anda akan diminta untuk meneruskan, gunakan flag
-f
atau
--force
untuk memintas prompt.
WARNING! This will remove all local volumes not used by at least one container. Are you sure you want to continue?
Mengeluarkan Rangkaian Docker
Keluarkan satu atau lebih rangkaian
Untuk mengalihkan satu atau lebih rangkaian Docker gunakan perintah
docker network ls
untuk mencari ID rangkaian yang anda ingin alih keluar.
docker network ls
Keluaran seharusnya kelihatan seperti ini:
NETWORK ID NAME DRIVER SCOPE 107b8ac977e3 bridge bridge local ab998267377d host host local c520032c3d31 my-bridge-network bridge local 9bc81b63f740 none null local
Sebaik sahaja anda telah
docker network rm
ingin anda keluarkan, lulus
NETWORK ID
mereka kepada perintah
docker network rm
. Contohnya untuk membuang rangkaian dengan nama
my-bridge-network
:
docker network rm c520032c3d31
Error response from daemon: network my-bridge-network id 6f5293268bb91ad2498b38b0bca970083af87237784017be24ea208d2233c5aa has active endpoints
Keluarkan semua rangkaian yang tidak digunakan
Gunakan command
docker network prune
untuk menghapuskan semua rangkaian yang tidak digunakan.
docker network prune
Anda akan diminta untuk meneruskan, gunakan flag
-f
atau
--force
untuk memintas prompt.
WARNING! This will remove all networks not used by at least one container. Are you sure you want to continue?
Keluarkan rangkaian menggunakan penapis
Dengan perintah
docker network prune
anda boleh mengalih keluar rangkaian berdasarkan syarat menggunakan bendera penapisan -
--filter
.
Pada masa penulisan artikel ini, penapis yang disokong saat ini adalah
until
dan
label
. Anda boleh menggunakan lebih daripada satu penapis dengan menggunakan pelbagai
--filter
bendera
--filter
.
Sebagai contoh, untuk menghapus semua rangkaian yang dibuat lebih daripada 12 jam yang lalu, jalankan:
docker network prune -a --filter "until=12h"
Kesimpulannya
Dalam panduan ini, kami telah menunjukkan kepada anda beberapa arahan umum untuk mengeluarkan bekas, gambar, jilid, dan rangkaian Docker.
Anda juga harus menyemak dokumentasi Docker rasmi.
dockerBagaimana untuk membuang latar belakang imej menggunakan kata ms
Berikut adalah Cara Buang Latar Belakang Imej Menggunakan MS Word dan MS Office Tools.
Bagaimana untuk membuang latar belakang dari imej dalam talian dengan sempurna
Inilah Cara Hapus Latar Belakang Dan Latar Belakang Imej Atas.
Bagaimana membina imej docker dengan fail docker
Imej Docker adalah cetak biru kontainer Docker yang mengandungi aplikasi dan semua yang anda perlukan untuk menjalankan aplikasi. Dalam tutorial ini, kami akan menerangkan apa Dockerfile, cara membuatnya dan bagaimana untuk membina imej Docker dengan Dockerfile.