Ing bagean saiki saka terjemahan saka seri materi babagan Docker, kita bakal ngomong babagan nggarap data. Utamane, babagan volume Docker. Ing materi kasebut, kita terus-terusan mbandhingake mekanisme pemrograman Docker kanthi macem-macem analogi sing bisa ditonton. Kita ora bakal nyimpang saka tradisi iki ing kene. Ayo data ing Docker dadi rempah-rempah. Ana akeh rempah-rempah ing donya, lan Docker duwe akeh cara kanggo nggarap data.
Elinga yen materi iki disiapake nggunakake mesin Docker versi 18.09.1 ββlan versi API 1.39.
Data ing Docker bisa disimpen kanthi sementara utawa permanen. Ayo dadi miwiti karo data sementara.
Panyimpenan data sementara
Ana rong cara kanggo ngatur data sementara ing wadhah Docker.
Kanthi gawan, file sing digawe dening aplikasi sing mlaku ing wadhah disimpen ing lapisan wadhah sing bisa ditulis. Supaya mekanisme iki bisa digunakake, ora ana khusus sing kudu dikonfigurasi. Pranyata murah lan nyenengake. Aplikasi mung perlu kanggo nyimpen data lan terus nindakake bab dhewe. Nanging, sawise wadhah ora ana, data sing disimpen kanthi cara sing prasaja uga bakal ilang.
Panyimpenan file sementara ing Docker minangka solusi liyane sing cocog kanggo kasus sing mbutuhake kinerja sing luwih dhuwur tinimbang sing bisa ditindakake nggunakake mekanisme panyimpenan data sementara standar. Yen sampeyan ora perlu data kanggo disimpen luwih saka wadhah ana, sampeyan bisa nyambung menyang tmpfs wadhah - nyimpen informasi sauntara sing nggunakake RAM inang. Iki bakal nyepetake eksekusi nulis data lan operasi maca.
Asring kedadeyan yen data kudu disimpen sanajan wadhah kasebut ora ana. Kanggo nindakake iki, kita butuh mekanisme panyimpenan data sing terus-terusan.
Panyimpenan data sing terus-terusan
Ana rong cara kanggo nggawe umur data luwih dawa tinimbang umur wadhah. Salah sawijining cara yaiku nggunakake teknologi bind mount. Kanthi pendekatan iki, sampeyan bisa masang, contone, folder urip nyata menyang wadhah. Proses ing njaba Docker uga bakal bisa nggarap data sing disimpen ing folder kasebut. mekaten deloken tmpfs mount lan bind mount teknologi.
Pasang tmpfs lan ikatan gunung
Kerugian nggunakake teknologi bind mount yaiku panggunaane nggawe serep data, migrasi data, enggo bareng data ing sawetara wadhah. Luwih becik nggunakake volume Docker kanggo panyimpenan data sing terus-terusan.
Volume Docker
Volume minangka sistem file sing ana ing mesin host ing njaba wadhah. Volume digawe lan dikelola dening Docker. Mangkene sifat utama volume Docker:
Iki minangka sarana panyimpenan permanen informasi.
Dheweke mandiri lan dipisahake saka wadhah.
Padha bisa dienggo bareng antarane wadhah beda.
Dheweke ngidini sampeyan ngatur maca lan nulis data kanthi efisien.
Volume bisa diselehake ing sumber daya panyedhiya maya remot.
Padha bisa ndhelik.
Padha bisa diwenehi jeneng.
Wadhah bisa ngatur pra-populasi volume karo data.
Padha trep kanggo testing.
Kaya sing sampeyan ngerteni, volume Docker duwe sifat sing luar biasa. Ayo dadi pirembagan bab carane nggawe wong.
Nggawe Volume
Volume bisa digawe nggunakake Docker utawa panjalukan API.
Iki minangka instruksi ing Dockerfile sing ngidini sampeyan nggawe volume nalika miwiti wadhah.
VOLUME /my_volume
Nalika nggunakake instruksi sing padha, Docker, sawise nggawe wadhah, bakal nggawe volume sing ngemot data sing wis ana ing lokasi sing ditemtokake. Elinga yen sampeyan nggawe volume nggunakake Dockerfile, iki ora ngilangi sampeyan kudu nemtokake titik gunung volume.
Sampeyan uga bisa nggawe volume ing Dockerfile nggunakake format JSON.
Kajaba iku, volume bisa digawe nggunakake alat baris printah nalika wadhah lagi mlaku.
Nggarap volume saka baris printah
β Nggawe volume
Sampeyan bisa nggawe volume mandiri kanthi printah ing ngisor iki:
docker volume create β-name my_volume
βTemokake informasi babagan volume
Kanggo ndeleng dhaptar volume Docker, gunakake printah ing ngisor iki:
docker volume ls
Sampeyan bisa njelajah volume tartamtu kaya iki:
docker volume inspect my_volume
β Mbusak volume
Sampeyan bisa mbusak volume kaya iki:
docker volume rm my_volume
Kanggo mbusak kabeh volume sing ora digunakake ing wadhah, sampeyan bisa nggunakake printah ing ngisor iki:
docker volume prune
Sadurunge mbusak volume, Docker bakal njaluk sampeyan konfirmasi operasi iki.
Yen volume digandhengake karo wadhah, volume kasebut ora bisa dibusak nganti wadhah sing cocog wis dibusak. Ing wektu sing padha, sanajan wadhah dibusak, Docker ora tansah ngerti iki. Yen kedadeyan kasebut, sampeyan bisa nggunakake printah ing ngisor iki:
docker system prune
Iki dirancang kanggo ngresiki sumber daya Docker. Sawise nglakokake printah iki, sampeyan kudu bisa mbusak volume sing status sadurunge ora bener.
Kanggo nggarap volume, nalika sampeyan nelpon printah docker, sampeyan bakal kerep kudu nggunakake gendera. Contone, kanggo nggawe volume sajrone nggawe wadhah, sampeyan bisa nggunakake konstruksi iki:
docker container run --mount source=my_volume, target=/container/path/for/volume my_image
Ing conto perintah manipulasi data Docker sing wis ana, sampeyan bisa ndeleng akeh conto panggunaan gendera. -v. Nalika nyoba kanggo ngganti printah iki kanggo dhewe, elinga yen panji --mount ΠΈ --volume nggunakake format parameter beda. Sing, sampeyan ora bisa mung ngganti -v ing --mount lan entuk tim kerja.
Bentenipun utama antarane --mount и --volume yaiku nalika nggunakake gendera --volume kabeh paramèter diklumpukake bebarengan ing siji lapangan, lan nalika nggunakake --mount paramèter dipisahake.
Nalika nggarap --mount paramèter dituduhake minangka pasangan kunci-nilai, yaiku, katon kaya key=value. Pasangan iki dipisahake kanthi koma. Kene opsi sing umum digunakake --mount:
type - jinis mount. Nilai kanggo tombol cocog bisa tali, volume utawa tmpfs. Kita ngomong babagan volume ing kene, yaiku, kita kasengsem ing regane volume.
source - sumber gunung. Kanggo volume sing dijenengi, iki jeneng volume. Kanggo volume sing ora dijenengi, tombol iki ora ditemtokake. Bisa disingkat dadi src.
destination - path sing file utawa folder wis dipasang ing wadhah. Tombol iki bisa disingkat dadi dst utawa target.
Punika conto panggunaan --mount kanthi akeh pilihan:
docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image
Hasil
Ing ngisor iki sawetara prentah migunani sing bisa digunakake nalika nggarap volume Docker:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
Punika dhaptar opsi umum digunakake kanggo --mount, ditrapake ing printah saka wangun docker run --mount my_options my_image:
type=volume
source=volume_name
destination=/path/in/container
readonly
Saiki kita wis ngrampungake seri Docker iki, wektune ngomong sawetara tembung babagan ngendi para siswa Docker bisa nerusake. kene artikel apik apik babagan Docker. kene buku babagan Docker (nalika tuku buku iki, coba entuk edisi paling anyar). kene buku liyane kanggo wong-wong sing mikir laku iku cara paling apik kanggo sinau teknologi.
Para pamaca ingkang kinurmatan! Bahan Docker apa sing bakal disaranake kanggo pamula sinau?