Learning Docker, Wāhanga 6: Mahi me te Raraunga

I tenei ra o te whakamaoritanga o te raupapa rauemi mo Docker, ka korero tatou mo te mahi me nga raraunga. Ina koa, mo nga pukapuka Docker. I roto i enei rauemi, ka whakatauritea tonu e matou nga tikanga kaupapa Docker me nga momo whakataurite kai. E kore tatou e peka ke i tenei tikanga i konei. Waiho nga raraunga i Docker hei mea kakara. He maha nga mea kakara o te ao, a he maha nga huarahi a Docker ki te mahi me nga raraunga.

Wāhanga 1: Nga Taketake
Wāhanga 2: ngā kupu me ngā ariā
Wāhanga 3: Dockerfiles
Wāhanga 4: Te whakaheke i te rahi o nga whakaahua me te tere ake i to raatau huihuinga
Wāhanga 5: whakahau
Wāhanga 6: te mahi me te raraunga

Learning Docker, Wāhanga 6: Mahi me te Raraunga

Kia mahara kua rite tenei rauemi ma te whakamahi i te Docker engine putanga 18.09.1 ​​​​me te putanga API 1.39.

Ko nga raraunga kei Docker ka taea te penapena mo te wa poto, mo te wa tonu ranei. Me timata me nga raraunga rangitahi.

Rokiroki raraunga rangitahi

E rua nga huarahi hei whakahaere i nga raraunga rangitahi i roto i nga ipu Docker.

Ma te taunoa, ko nga konae i hangaia e te tono e rere ana i roto i te ipu ka penapena ki tetahi paparanga ipu tuhi. Kia mahi ai tenei tikanga, kaore he mea motuhake me whirihora. Ka puta he iti me te koa. Me tiaki noa te tono i nga raraunga me te mahi tonu i tana ake mahi. Heoi, i muri i te korenga o te ipu, ka ngaro ano nga raraunga i tiakina ma te ngawari.

Ko te rokiroki kōnae rangitahi i Docker tetahi atu otinga e pai ana mo nga keehi e hiahia ana koe ki te taumata teitei ake o te mahi i nga mea ka taea ma te whakamahi i te tikanga rokiroki raraunga rangitahi. Ki te kore koe e hiahia kia roa ake te penapena i o raraunga i te ipu, ka taea e koe te hono atu ki te ipu tmpfs - he toa korero rangitahi e whakamahi ana i te RAM o te kaihautu. Ma tenei ka tere ake te mahi tuhi raraunga me nga mahi panui.

He maha nga wa e tika ana kia penapena nga raraunga ahakoa ka mutu te noho o te ipu. Ki te mahi i tenei, ka hiahia matou ki nga taputapu rokiroki raraunga tohe.

Te rokiroki raraunga pumau

E rua nga huarahi kia roa ake te roanga o te raraunga i te ora o te ipu. Ko tetahi huarahi ko te whakamahi i te hangarau here mount. Ma tenei huarahi, ka taea e koe te whakairi, hei tauira, he kōpaki ora-i-te-katoa ki te ipu. Ka taea hoki e nga tukanga i waho o Docker te mahi me nga raraunga kua rongoa ki roto i taua kōpaki. Ko te pehea titiro tmpfs Maunga me te here i te hangarau maunga.

Learning Docker, Wāhanga 6: Mahi me te Raraunga
Whakanuia nga tmpfs me te here i te maunga

Ko nga ngoikoretanga o te whakamahi i te hangarau here mount ko tana whakamahinga he whakararu i te taapiri raraunga, te hekenga raraunga, te tiritiri raraunga i waenga i nga ipu maha. He pai ake te whakamahi i nga pukapuka Docker mo te rokiroki raraunga pumau.

Volumes Docker

Ko te rōrahi he punaha konae kei runga i te miihini manaaki i waho o nga ipu. Ko nga pukapuka ka hangaia, ka whakahaerehia e Docker. Anei nga ahuatanga matua o nga pukapuka Docker:

  • He huarahi pupuri tonu i nga korero.
  • Ka noho motuhake, ka wehea mai i nga ipu.
  • Ka taea te tiritahi ki waenga i nga ipu rereke.
  • Ka taea e koe te whakarite korero pai me te tuhi raraunga.
  • Ka taea te whakanoho i nga pukapuka ki runga i nga rauemi a te kaiwhakarato kapua mamao.
  • Ka taea te whakamuna.
  • Ka taea te hoatu ingoa.
  • Ka taea e te ipu te whakarite i mua i te taupori o te rōrahi me te raraunga.
  • He waatea mo te whakamatautau.

Kei te kite koe, he mea whakamiharo nga pukapuka Docker. Me korero tatou me pehea te hanga.

Te hanga pukapuka

Ka taea te hanga pukapuka ma te whakamahi i nga tono Docker, API ranei.

Anei he tohutohu kei roto i te Dockerfile ka taea e koe te hanga i te rōrahi i te tiimata o te ipu.

VOLUME /my_volume

I te wa e whakamahi ana i tetahi tohutohu rite, Docker, i muri i te hanga i te ipu, ka hanga he rōrahi kei roto nga raraunga kei te waahi kua tohua. Kia mahara mena ka hangaia e koe he rōrahi ma te whakamahi i te Dockerfile, kaore tenei e awhina i a koe ki te tautuhi i te waahi maunga o te rōrahi.

Ka taea hoki e koe te hanga pukapuka i roto i te Dockerfile ma te whakamahi i te whakatakotoranga JSON.

I tua atu, ka taea te hanga pukapuka ma te whakamahi i nga taputapu raina whakahau i te wa e rere ana te ipu.

Te mahi me nga pukapuka mai i te raina whakahau

▍Te hanga pukapuka

Ka taea e koe te hanga i tetahi rōrahi motuhake me te whakahau e whai ake nei:

docker volume create —-name my_volume

▍Kimihia nga korero mo nga pukapuka

Hei tiro i te rarangi o nga pukapuka Docker, whakamahia te whakahau e whai ake nei:

docker volume ls

Ka taea e koe te tuhura i tetahi rōrahi motuhake penei:

docker volume inspect my_volume

▍Muku rōrahi

Ka taea e koe te muku i te rōrahi penei:

docker volume rm my_volume

Hei tango i nga pukapuka katoa kaore e whakamahia e nga ipu, ka taea e koe te whakamahi i te whakahau e whai ake nei:

docker volume prune

I mua i te whakakore i nga pukapuka, ka tono a Docker ki a koe kia whakamanahia tenei mahi.

Mēnā e pāhono ana tētahi rōrahi ki tētahi ipu, kāore e taea te muku taua rōrahi kia mukua rā anō te ipu e hāngai ana. I te wa ano, ahakoa ka tangohia te ipu, kaore a Docker e mohio ki tenei. Mena ka tupu tenei, ka taea e koe te whakamahi i te whakahau e whai ake nei:

docker system prune

I hangaia hei horoi i nga rauemi a Docker. I muri i te mahi i tenei whakahau, ka taea e koe te whakakore i nga pukapuka i he te mana o mua.

Ko nga haki --mount me --volume

Hei mahi me nga pukapuka, ina karanga koe i te whakahau docker, ka hiahia koe ki te whakamahi i nga haki. Hei tauira, ki te hanga i te rōrahi i te wa e hanga ana ipu, ka taea e koe te whakamahi i tenei hanga:

docker container run --mount source=my_volume, target=/container/path/for/volume my_image

I nga wa onamata (tae noa ki te tau 2017), he rongonui te haki --volume. I te timatanga, ko tenei haki (ka taea hoki te whakamahi i roto i te ahua poto, katahi te ahua -v) i whakamahia mo nga ipu motuhake, me te haki --mount - i roto i te taiao Docker Swarm. Heoi, mo Docker 17.06, te haki --mount ka taea te whakamahi i tetahi ahuatanga.

Me tohu i te wa e whakamahi ana i te haki --mount ka whakanui ake i te nui o nga raraunga taapiri hei tohu i roto i te whakahau, engari, mo nga take maha, he pai ake te whakamahi i tenei haki, kaore --volume. Kara --mount Ko te tikanga anake e taea ai e koe te mahi me nga ratonga me te tautuhi ranei i nga whiringa taraiwa rōrahi. Ano, he ngawari ake te mahi o tenei haki.

I roto i nga tauira o naianei o nga whakahau raweke raraunga a Docker, ka kite koe i nga tauira maha o te whakamahi i te haki. -v. A, no te ngana ki te urutau enei whakahau mo koe, kia maumahara ko nga haki --mount и --volume whakamahia nga whakatakotoranga tawhā rereke. Arā, e kore e taea e koe te whakakapi noa -v i runga i --mount me te tiki roopu mahi.

Ko te rereketanga nui i waenga --mount и --volume ko tera ka whakamahi i te haki --volume ka kohia nga tawhā katoa i roto i te mara kotahi, me te whakamahi --mount kua wehea nga tawhā.

Ka mahi ana --mount ka tohuhia nga tawhā hei takirua matua-uara, ara, te ahua key=value. Ka wehea enei takirua ki nga piko. Anei nga whiringa e whakamahia nuitia ana --mount:

  • type — momo maunga. Ko te uara mo te kī e hāngai ana ka taea herea, rōrahi ranei Tuhinga o mua. Kei te korero matou mo nga pukapuka i konei, ara, kei te pirangi matou ki te uara volume.
  • source - maunga puna. Mo nga pukapuka kua whakaingoatia, koinei te ingoa o te rōrahi. Mo nga pukapuka kore whakaingoatia, kaore i te whakaingoatia tenei ki. Ka taea te whakapoto ki src.
  • destination - te ara e mau ai te konae, te kōpaki ranei ki roto i te ipu. Ka taea te whakapoto tenei ki dst ranei target.
  • readonly - ka whakairihia te rōrahi e whakaarohia ana mo te panui anake. Ko te whakamahi i tenei taviri he mea whiriwhiri, kaore he uara i tautapa ki a ia.

Anei tetahi tauira o te whakamahinga --mount me te maha o nga whiringa:

docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image

Ngā putanga

Anei etahi whakahau whai hua ka taea e koe te whakamahi ina mahi ana koe me nga pukapuka Docker:

  • docker volume create
  • docker volume ls
  • docker volume inspect
  • docker volume rm
  • docker volume prune

Anei te rarangi o nga whiringa e whakamahia nuitia ana mo --mount, e tika ana i roto i te whakahau o te puka docker run --mount my_options my_image:

  • type=volume
  • source=volume_name
  • destination=/path/in/container
  • readonly

Inaianei kua oti ia matou tenei raupapa Docker, kua tae ki te wa ki te korero i etahi kupu mo te waahi ka taea e nga akonga o Docker te haere i muri mai. konei tuhinga pai mo Docker. konei he pukapuka e pa ana ki a Docker (i te wa e hoko ana i tenei pukapuka, me ngana ki te tiki i te putanga hou rawa atu). konei he pukapuka ano mo te hunga e whakaaro ana ko te mahi te huarahi pai ki te ako hangarau.

E nga kaipānui aroha! He aha nga rauemi a Docker ka tūtohu koe mo te hunga timata ki te ako?

Learning Docker, Wāhanga 6: Mahi me te Raraunga

Source: will.com

Tāpiri i te kōrero