Learning Docker, Part 6: Nggarap Data

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.

β†’ Bagean 1: Dhasar
β†’ Part 2: istilah lan konsep
β†’ Bagean 3: Dockerfiles
β†’ Part 4: Ngurangi ukuran gambar lan nyepetake perakitan
β†’ Part 5: printah
β†’ Part 6: nggarap data

Learning Docker, Part 6: 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.

Learning Docker, Part 6: Nggarap Data
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.

GendΓ©ra --mount lan --volume

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 jaman kuna (nganti 2017), gendΓ©ra kasebut misuwur --volume. Kaping pisanan, gendera iki (uga bisa digunakake ing wangun sing disingkat, banjur katon kaya -v) digunakake kanggo wadhah mandiri, lan gendΓ©ra --mount - ing lingkungan Docker Swarm. Nanging, ing Docker 17.06, gendΓ©ra --mount bisa digunakake ing skenario apa wae.

Perlu dicathet yen nalika nggunakake gendera --mount jumlah data tambahan sing kudu ditemtokake ing printah mundhak, nanging, kanggo sawetara alasan, iku luwih apik kanggo nggunakake flag tartamtu iki, lan ora --volume. GendΓ©ra --mount iku mung mekanisme sing ngijini sampeyan kanggo bisa karo layanan utawa nemtokake pilihan driver volume. Uga, gendera iki luwih gampang digarap.

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.
  • readonly - Gunung volume sing dimaksudakΓ© mung kanggo maca. Panggunaan tombol iki opsional, lan ora ana regane.

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?

Learning Docker, Part 6: Nggarap Data

Source: www.habr.com

Add a comment