Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ sii

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ sii

Bakan ni aaye kan Mo pinnu lati kọ nkan kan nipa ifijiṣẹ ni irisi awọn apoti Docker ati awọn idii deb, ṣugbọn nigbati mo bẹrẹ, fun idi kan a gbe mi pada si awọn akoko jijinna ti awọn kọnputa ti ara ẹni akọkọ ati paapaa awọn iṣiro. Ni gbogbogbo, dipo awọn afiwera gbigbẹ ti docker ati deb, a ni awọn ero wọnyi lori koko ti itankalẹ, eyiti Mo ṣafihan fun imọran rẹ.

Ọja eyikeyi, laibikita ohun ti o jẹ, gbọdọ bakan lọ si awọn olupin ọja, gbọdọ tunto ati ṣe ifilọlẹ. Iyẹn ni nkan ti nkan yii yoo jẹ nipa.

Emi yoo ronu ninu ọrọ itan kan, “Ohun ti Mo rii ni ohun ti Mo kọrin nipa,” kini Mo rii nigbati mo kọkọ bẹrẹ koodu kikọ ati ohun ti Mo ṣe akiyesi ni bayi, kini awa tikararẹ nlo ni akoko ati idi. Nkan naa ko ṣe dibọn pe o jẹ ikẹkọ kikun, diẹ ninu awọn aaye ti padanu, eyi ni iwo ti ara ẹni ti ohun ti o wa ati ohun ti o wa ni bayi.

Nitorinaa, ni awọn ọjọ atijọ ti o dara… ọna akọkọ ti ifijiṣẹ ti Mo rii ni awọn teepu kasẹti lati awọn agbohunsilẹ teepu. Mo ni kọnputa BK-0010.01…

Awọn akoko ti isiro

Rara, paapaa akoko iṣaaju paapaa wa, ẹrọ iṣiro tun wa MK-61 и MK-52.

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ sii Nitorina nigbati mo ni MK-61, lẹhinna ọna lati gbe eto naa jẹ iwe ti o wọpọ ni apoti kan ti a ti kọ eto kan, eyiti, ti o ba jẹ dandan, lati ṣiṣẹ pẹlu ọwọ, ti a kọ sinu ẹrọ iṣiro. Ti o ba fẹ ṣere (bẹẹni, paapaa ẹrọ iṣiro antediluvian yii ni awọn ere) - o joko ki o tẹ eto naa sinu ẹrọ iṣiro naa. Ní ti ẹ̀dá, nígbà tí ẹ̀rọ ìṣírò náà bá ti pa, ìtòlẹ́sẹẹsẹ náà pòórá sí ìgbàgbé. Ni afikun si awọn koodu iṣiro tikalararẹ ti a kọ jade lori iwe, awọn eto naa ni a tẹjade ninu awọn iwe-akọọlẹ “Redio” ati “Technology for Youth”, ati pe a tun gbejade ni awọn iwe ti akoko yẹn.

Nigbamii ti iyipada je kan isiro MK-52, o ti ni diẹ ninu awọn semblance ti kii-iyipada data ipamọ. Bayi ere tabi eto naa ko ni lati tẹ sii pẹlu ọwọ, ṣugbọn lẹhin ṣiṣe diẹ ninu awọn igbasilẹ idan pẹlu awọn bọtini, o kojọpọ funrararẹ.

Iwọn eto ti o tobi julọ ninu ẹrọ iṣiro jẹ awọn igbesẹ 105, ati iwọn iranti ayeraye ni MK-52 jẹ awọn igbesẹ 512.

Nipa ọna, ti awọn onijakidijagan ti awọn iṣiro wọnyi ba wa ti o ka nkan yii, ninu ilana kikọ nkan naa Mo rii mejeeji emulator iṣiro kan fun Android ati awọn eto fun rẹ. Siwaju si awọn ti o ti kọja!

A kukuru digression nipa MK-52 (lati Wikipedia)

MK-52 fò sinu aaye lori ọkọ ofurufu Soyuz TM-7. O yẹ ki o lo lati ṣe iṣiro itọpa ibalẹ ti o ba jẹ pe kọnputa inu ọkọ kuna.

Lati ọdun 52, MK-1988 pẹlu ẹya imugboroja iranti Elektronika-Astro ti pese si awọn ọkọ oju omi Ọgagun gẹgẹbi apakan ti ohun elo iširo lilọ kiri.

Awọn kọnputa akọkọ ti ara ẹni

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ sii Jẹ ki a pada si awọn akoko BC-0010. O han gbangba pe iranti diẹ sii wa nibẹ, ati titẹ koodu lati inu iwe ko jẹ aṣayan mọ (botilẹjẹpe ni akọkọ Mo ṣe iyẹn, nitori pe ko si alabọde miiran). Awọn kasẹti ohun fun awọn agbohunsilẹ teepu ti n di ọna akọkọ ti fifipamọ ati jiṣẹ sọfitiwia.





Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ siiIbi ipamọ lori kasẹti jẹ igbagbogbo ni irisi ọkan tabi meji awọn faili alakomeji, ohun gbogbo miiran wa ninu. Igbẹkẹle jẹ kekere pupọ, Mo ni lati tọju awọn ẹda 2-3 ti eto naa. Awọn akoko ikojọpọ tun jẹ itaniloju, ati awọn alara ṣe idanwo pẹlu oriṣiriṣi awọn koodu iwifun lati bori awọn ailagbara wọnyi. Ni akoko yẹn, Emi funrarami ko tii kopa ninu idagbasoke sọfitiwia ọjọgbọn (kii ṣe kika awọn eto ti o rọrun ni BASIC), nitorinaa, laanu, Emi kii yoo sọ fun ọ ni alaye bi o ti ṣeto ohun gbogbo ninu. Ni otitọ pe kọnputa naa ni Ramu nikan fun apakan pupọ julọ pinnu ayedero ti ero ibi ipamọ data.

Awọn farahan ti gbẹkẹle ati ki o tobi ipamọ media

Nigbamii, awọn disiki floppy han, ilana didaakọ jẹ irọrun, ati igbẹkẹle pọ si.
Ṣugbọn ipo naa yipada ni iyalẹnu nikan nigbati awọn ibi ipamọ agbegbe ti o tobi to han ni irisi HDDs.

Iru ifijiṣẹ ti n yipada ni ipilẹṣẹ: awọn eto insitola han ti o ṣakoso ilana ti atunto eto naa, bi mimọ lẹhin yiyọ kuro, nitori pe awọn eto kii ṣe kika sinu iranti nikan, ṣugbọn ti daakọ tẹlẹ si ibi ipamọ agbegbe, lati eyiti o nilo lati ṣe. ni anfani lati ko awọn nkan ti ko wulo ti o ba jẹ dandan.

Ni akoko kanna, idiju ti sọfitiwia ti a pese n pọ si.
Nọmba awọn faili ti o wa ninu ifijiṣẹ pọ si lati diẹ si awọn ọgọọgọrun ati ẹgbẹẹgbẹrun, awọn ija laarin awọn ẹya ikawe ati awọn ayọ miiran bẹrẹ nigbati awọn eto oriṣiriṣi lo data kanna.

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ sii Ni akoko yẹn, wiwa Linux ko tii ṣii si mi; Mo gbe ni agbaye ti MS DOS ati, nigbamii, Windows, ati kowe ni Borland Pascal ati Delphi, nigbakan n wo si C ++. Ọpọlọpọ eniyan lo InstallShield lati fi awọn ọja ranṣẹ lẹhinna. ru.wikipedia.org/wiki/InstallShield, eyiti o yanju ni aṣeyọri gbogbo awọn iṣẹ-ṣiṣe ti a yàn ti imuṣiṣẹ ati atunto sọfitiwia naa.




Internet akoko

Diẹdiẹ, idiju ti awọn eto sọfitiwia ti n di idiju paapaa; lati monolith ati awọn ohun elo tabili iyipada kan wa si awọn eto pinpin, awọn alabara tinrin ati awọn iṣẹ microservices. Bayi o nilo lati tunto kii ṣe eto kan, ṣugbọn ṣeto wọn, ati pe ki gbogbo wọn ṣiṣẹ pọ.

Erongba ti yipada patapata, Intanẹẹti wa, akoko ti awọn iṣẹ awọsanma ti de. Nitorinaa, nikan ni ipele ibẹrẹ, ni irisi awọn oju opo wẹẹbu, ko si ẹnikan ti o ni ala ni pataki ti awọn iṣẹ. ṣugbọn o jẹ aaye iyipada ninu mejeeji idagbasoke ati ifijiṣẹ awọn ohun elo.

Fun ara mi, Mo ṣe akiyesi pe ni akoko yẹn iyipada kan wa ninu awọn iran ti awọn idagbasoke (tabi o wa ni agbegbe mi nikan), ati pe rilara kan wa pe gbogbo awọn ọna ifijiṣẹ atijọ ti o dara ni a gbagbe ni akoko kan ati pe ohun gbogbo bẹrẹ lati pupọ. ibẹrẹ: gbogbo awọn ifijiṣẹ bẹrẹ lati wa ni ṣe awọn iwe afọwọkọ orokun ati inu didun ti a npe ni o "Lemọlemọfún ifijiṣẹ". Ní tòótọ́, àkókò ìdàrúdàpọ̀ kan ti bẹ̀rẹ̀, nígbà tí a ti gbàgbé ògbólógbòó, tí a kò sì lò ó, tí tuntun kò sì sí níbẹ̀.

Mo ranti awọn akoko nigba ti ni ile-iṣẹ wa nibiti mo ti ṣiṣẹ lẹhinna (Emi kii yoo lorukọ rẹ), dipo kiko nipasẹ ant (maven ko tii gbajugbaja tabi ko si tẹlẹ rara), awọn eniyan n ṣajọ awọn pọn ni IDE ati ni ifarakanra. o ni SVN. Nitorinaa, imuṣiṣẹ ni gbigba faili lati SVN ati didakọ rẹ nipasẹ SSH si ẹrọ ti o fẹ. O rọrun pupọ ati clumy.

Ni akoko kanna, ifijiṣẹ ti awọn aaye ti o rọrun ni PHP ni a ṣe ni ọna alakoko pupọ nipa didakọ faili ti o ṣatunṣe nipasẹ FTP si ẹrọ ibi-afẹde. Nigba miiran eyi kii ṣe ọran - koodu naa ti ṣatunkọ laaye lori olupin ọja, ati pe o jẹ yara ni pataki ti awọn afẹyinti ba wa ni ibikan.


RPM ati DEB jo

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ siiNi apa keji, pẹlu idagbasoke Intanẹẹti, awọn ọna ṣiṣe UNIX ti bẹrẹ lati ni olokiki pupọ ati siwaju sii, ni pataki, ni akoko yẹn ni Mo ṣe awari RedHat Linux 6, to 2000. Nipa ti, awọn ọna kan tun wa fun jiṣẹ sọfitiwia; ni ibamu si Wikipedia, RPM bi oluṣakoso package akọkọ han tẹlẹ ni ọdun 1995, ninu ẹya RedHat Linux 2.0. Ati pe lati igba naa ati titi di oni, eto naa ti jẹ jiṣẹ ni irisi awọn idii RPM ati pe o ti wa tẹlẹ ni aṣeyọri ati idagbasoke.

Awọn ipinpinpin ti idile Debian tẹle ọna ti o jọra ati imuse ifijiṣẹ ni irisi awọn idii gbese, eyiti ko yipada titi di oni.

Awọn alakoso idii gba ọ laaye lati fi awọn ọja sọfitiwia funrararẹ, tunto wọn lakoko ilana fifi sori ẹrọ, ṣakoso awọn igbẹkẹle laarin awọn idii oriṣiriṣi, yọ awọn ọja kuro ati nu awọn ohun ti ko wulo lakoko ilana fifi sori ẹrọ. Awon. fun apakan pupọ julọ, iyẹn ni gbogbo ohun ti o nilo, eyiti o jẹ idi ti wọn fi duro fun ọpọlọpọ awọn ewadun fere ko yipada.

Iṣiro awọsanma ti ṣafikun fifi sori ẹrọ si awọn alakoso package kii ṣe lati awọn media ti ara nikan, ṣugbọn tun lati awọn ibi ipamọ awọsanma, ṣugbọn ni ipilẹ diẹ ti yipada.

O tọ lati ṣe akiyesi pe lọwọlọwọ awọn gbigbe kan wa si gbigbe kuro lati gbese ati yi pada si awọn idii imolara, ṣugbọn diẹ sii lori iyẹn nigbamii.

Nitorinaa, iran tuntun yii ti awọn Difelopa awọsanma, ti ko mọ DEB tabi RPM, tun dagba laiyara, ni iriri, awọn ọja di eka sii, ati diẹ ninu awọn ọna ifijiṣẹ ironu diẹ sii ni a nilo ju FTP, awọn iwe afọwọkọ bash ati awọn iṣẹ ọnà ọmọ ile-iwe ti o jọra.
Ati pe eyi ni ibiti Docker ti wa sinu aworan, iru idapọ ti agbara ipa, iyasọtọ awọn orisun ati ọna ifijiṣẹ. O jẹ asiko ati ọdọ ni bayi, ṣugbọn o nilo fun ohun gbogbo? Ṣe eyi jẹ panacea?

Lati awọn akiyesi mi, nigbagbogbo Docker ni a dabaa kii ṣe bi yiyan ti oye, ṣugbọn lasan nitori, ni apa kan, o ti sọrọ nipa ni agbegbe, ati pe awọn ti o daba pe o mọ nikan. Ni apa keji, fun apakan pupọ julọ wọn dakẹ nipa awọn eto iṣakojọpọ atijọ ti o dara - wọn wa ati ṣe iṣẹ wọn ni idakẹjẹ ati aimọ. Ni iru ipo bẹẹ, ko si yiyan miiran gaan - yiyan jẹ kedere - Docker.

Emi yoo gbiyanju lati pin iriri mi ti bii a ṣe ṣe imuse Docker ati ohun ti o ṣẹlẹ bi abajade.


Awọn iwe afọwọkọ ti ara ẹni

Ni ibẹrẹ, awọn iwe afọwọkọ bash wa ti o gbe awọn ile-ipamọ idẹ si awọn ẹrọ ti o nilo. Ilana yii jẹ iṣakoso nipasẹ Jenkins. Eyi ṣiṣẹ ni aṣeyọri, nitori ibi ipamọ idẹ funrararẹ ti jẹ apejọ ti o ni awọn kilasi, awọn orisun ati paapaa iṣeto ni. Ti o ba fi ohun gbogbo sinu rẹ si o pọju, lẹhinna fifẹ rẹ sinu iwe afọwọkọ kii ṣe ohun ti o nira julọ ti o nilo

Ṣugbọn awọn iwe afọwọkọ ni ọpọlọpọ awọn alailanfani:

  • Awọn iwe afọwọkọ ni a maa n kọ ni iyara ati nitori naa o jẹ atijo tobẹẹ pe wọn ni oju iṣẹlẹ ti o dara julọ nikan ninu. Eyi jẹ irọrun nipasẹ otitọ pe olupilẹṣẹ nifẹ si ifijiṣẹ iyara, ati pe iwe afọwọkọ deede nilo idoko-owo ti iye to peye ti awọn orisun
  • bi abajade ti aaye ti tẹlẹ, awọn iwe afọwọkọ ko ni awọn ilana yiyọ kuro
  • ko si ilana igbesoke ti iṣeto
  • Nigbati ọja tuntun ba han, o nilo lati kọ iwe afọwọkọ tuntun kan
  • ko si gbára support

Nitoribẹẹ, o le kọ iwe afọwọkọ fafa, ṣugbọn, bi Mo ti kọ loke, eyi jẹ akoko idagbasoke, kii ṣe o kere ju, ati, bi a ti mọ, nigbagbogbo ko to akoko.

Gbogbo eyi ni o han gedegbe ni opin iwọn ohun elo ti ọna imuṣiṣẹ yii si awọn eto ti o rọrun julọ nikan. Akoko ti de lati yi eyi pada.


Docker

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ siiNi aaye kan, awọn agbedemeji minted tuntun bẹrẹ lati wa si wa, ti n rirọ pẹlu awọn imọran ati raving nipa docker. O dara, asia ni ọwọ - jẹ ki a ṣe! Awọn igbiyanju meji wa. Awọn mejeeji ko ni aṣeyọri - jẹ ki a sọ, nitori awọn ambitions nla, ṣugbọn aini iriri gidi. Ṣe o jẹ dandan lati fi agbara mu u ki o pari rẹ ni ọna eyikeyi ti o ṣe pataki? Ko ṣeeṣe - ẹgbẹ naa gbọdọ dagbasoke si ipele ti a beere ṣaaju ki o to le lo awọn irinṣẹ ti o yẹ. Ni afikun, nigba lilo awọn aworan Docker ti a ti ṣetan, a nigbagbogbo pade otitọ pe nẹtiwọọki ko ṣiṣẹ ni deede (eyiti o le jẹ nitori ọririn ti Docker funrararẹ) tabi o nira lati faagun awọn apoti eniyan miiran.

Àwọn ìṣòro wo la bá pàdé?

  • Awọn iṣoro nẹtiwọki ni ipo afara
  • Ko ṣe aibalẹ lati wo awọn akọọlẹ ninu apo eiyan (ti wọn ko ba tọju lọtọ ni eto faili ti ẹrọ agbalejo)
  • ElasticSearch lẹẹkọọkan didi ajeji ninu apo eiyan, idi ko ti pinnu, eiyan naa jẹ osise
  • O jẹ dandan lati lo ikarahun kan ninu apo eiyan - ohun gbogbo ti yọ kuro, ko si awọn irinṣẹ deede
  • Iwọn nla ti awọn apoti ti a gba - gbowolori lati fipamọ
  • Nitori iwọn nla ti awọn apoti, o nira lati ṣe atilẹyin awọn ẹya pupọ
  • Akoko kikọ gigun, ko dabi awọn ọna miiran (awọn iwe afọwọkọ tabi awọn idii deb)

Ni apa keji, kilode ti o buru ju lati ran iṣẹ orisun omi ṣiṣẹ ni irisi ibi ipamọ idẹ nipasẹ gbese kanna? Ṣe ipinya awọn oluşewadi ṣe pataki gaan? Ṣe o tọsi sisọnu awọn irinṣẹ ẹrọ ṣiṣe irọrun nipa sisọ iṣẹ kan sinu apoti ti o dinku pupọ bi?

Gẹgẹbi iṣe ti fihan, ni otitọ eyi ko ṣe pataki, package gbese naa to ni 90% ti awọn ọran.

Nigbawo ni gbese atijọ ti o dara kuna ati nigbawo ni a nilo docker gaan?

Fun wa, eyi nfi awọn iṣẹ ranṣẹ ni Python. Ọpọlọpọ awọn ile-ikawe ti o nilo fun ikẹkọ ẹrọ ati pe ko si ninu pinpin boṣewa ti ẹrọ ṣiṣe (ati kini awọn ẹya ti ko tọ), awọn gige pẹlu awọn eto, iwulo fun awọn ẹya oriṣiriṣi fun awọn iṣẹ oriṣiriṣi ti ngbe lori eto agbalejo kanna yori si yi , wipe awọn nikan reasonable ona lati fi yi iparun adalu wà ni docker. Agbara iṣẹ ti apejọ eiyan docker kan yipada lati jẹ kekere ju imọran ti iṣakojọpọ gbogbo rẹ sinu awọn idii deb lọtọ pẹlu awọn igbẹkẹle, ati ni otitọ ko si ẹnikan ti o wa ni ọkan ti o tọ ti yoo ṣe eyi.

Ojuami keji nibiti o ti gbero lati lo Docker ni lati mu awọn iṣẹ ṣiṣẹ ni ibamu si ero imuṣiṣẹ alawọ-bulu. Ṣugbọn nibi Mo fẹ lati ni ilọsiwaju mimu ni idiju: akọkọ, awọn idii deb ti wa ni itumọ ti, ati lẹhinna apoti docker ti kọ lati ọdọ wọn.


Awọn akopọ imolara

Itankalẹ ti awọn irinṣẹ ifijiṣẹ, tabi awọn ero nipa Docker, deb, idẹ ati diẹ sii Jẹ ká pada si imolara jo. Wọn kọkọ han ni ifowosi ni Ubuntu 16.04. Ko dabi awọn idii gbese deede ati awọn idii rpm, snap gbe gbogbo awọn igbẹkẹle lọ. Ni apa kan, eyi n gba ọ laaye lati yago fun awọn ija ile-ikawe, ni apa keji, package abajade jẹ tobi ni iwọn. Ni afikun, eyi tun le ni ipa lori aabo eto naa: ninu ọran ti ifijiṣẹ imolara, gbogbo awọn iyipada si awọn ile-ikawe ti o wa pẹlu gbọdọ jẹ abojuto nipasẹ olupilẹṣẹ ti o ṣẹda package. Ni gbogbogbo, kii ṣe ohun gbogbo rọrun pupọ ati idunnu gbogbo agbaye ko wa lati lilo wọn. Ṣugbọn, sibẹsibẹ, eyi jẹ yiyan ti o ni oye patapata ti Docker kanna ba lo nikan bi ohun elo iṣakojọpọ kii ṣe fun agbara.



Gẹgẹbi abajade, a lo awọn idii deb mejeeji ati awọn apoti docker ni apapo ironu, eyiti, boya, ni awọn igba miiran a yoo rọpo pẹlu awọn idii imolara.

Awọn olumulo ti o forukọsilẹ nikan le kopa ninu iwadi naa. wọle, Jowo.

Kini o lo fun ifijiṣẹ?

  • Awọn iwe afọwọkọ ti ara ẹni

  • Daakọ pẹlu ọwọ si FTP

  • deb jo

  • rpm jo

  • imolara jo

  • Docker-awọn aworan

  • Awọn aworan ẹrọ foju

  • Dide gbogbo HDD

  • ọmọlangidi

  • dahun

  • Omiiran

109 olumulo dibo. 32 olumulo abstained.

orisun: www.habr.com

Fi ọrọìwòye kun