Ke ile ka matha Docker joang ka har'a Docker le se neng se tsoa ho eona

Lumelang bohle! Ho tsa hae sehlooho se fetileng, Ke tšepisitse ho bua ka ho tsamaisa Docker ho Docker le likarolo tse sebetsang tsa ho sebelisa thuto ena. Ke nako ea ho boloka tšepiso ea hau. Motho ea nang le boiphihlelo a ka hana hore ba hlokang Docker ka hare ho Docker ba fetisetsa sokete ea daemon ea Docker ho tsoa ho moamoheli ka sejaneng mme sena se tla lekana ho 99% ea linyeoe. Empa u se ke oa potlakela ho ntahlela likuku, hobane re tla bua ka ho tsamaisa Docker kahare ho Docker. Tharollo ena e na le lisebelisoa tse ngata tse ka khonehang 'me sengoloa sena se bua ka e' ngoe ea tsona, kahoo lula fatše 'me u otlolle matsoho ka pel'a hao.

Ke ile ka matha Docker joang ka har'a Docker le se neng se tsoa ho eona

Tšimoloho

Tsohle li qalile mantsiboeeng a pula ea September ha ke ntse ke hloekisa mochine oo ke o hirileng ka $ 5 ka Digital Ocean, e neng e le leqhoa ka lebaka la hore Docker e ne e tlatsitse li-gigabyte tsohle tsa 24 tsa sebaka sa disk se fumanehang ka litšoantšo le lijana tsa eona. Ntho e makatsang ke hore litšoantšo tsena tsohle le lijana li ne li le tsa nakoana 'me li ne li hlokahala feela ho leka ts'ebetso ea kopo ea ka nako le nako ha ho lokolloa phetolelo e ncha ea laebrari kapa moralo. Ke ile ka leka ho ngola mangolo a likhetla le ho theha kemiso ea cron ea ho hloekisa litšila, empa ha ea ka ea thusa: nako le nako ha e ne e fela ka mokhoa o ke keng oa qojoa ka sebaka sa disk sa seva sa ka se jeoang 'me seva se leketlile (ka ho fetisisa). Ka nako e 'ngoe, ke ile ka kopana le sengoloa se mabapi le mokhoa oa ho tsamaisa Jenkins ka setshelo le hore na e ka theha le ho hlakola liphaephe tsa kaho ka sokete ea daemon ea docker e fetiselitsoeng ho eona. Ke ratile mohopolo ona, empa ke nkile qeto ea ho fetela pele le ho leka ho etsa liteko tsa ho tsamaisa Docker ka kotloloho kahare ho Docker. Ka nako eo, ho 'na ho ne ho bonahala eka ke tharollo e utloahalang ka ho feletseng ea ho khoasolla litšoantšo tsa Docker le ho etsa lijana bakeng sa lits'ebetso tsohle tseo ke neng ke li hloka bakeng sa tlhahlobo ka har'a setshelo se seng (ha re e bitse setshelo sa sethala). Morero e ne e le ho qala setshelo sa sethala se nang le folakha ea -rm, e hlakolang setshelo kaofela le litaba tsohle tsa eona ha e emisoa. Ke ile ka sheba setšoantšo sa Docker ho tloha Docker ka boeona (https://hub.docker.com/_/docker), empa e ile ea e-ba boima haholo 'me ha ho mohla nkileng ka khona ho e etsa hore e sebetse ka tsela eo ke neng ke e hloka ka eona' me ke ne ke batla ho tsamaea ka tsela eohle.

Itloaetse. Likhoune

Ke ile ka ikemisetsa ho etsa hore setshelo se sebetse ka tsela eo ke neng ke e hloka 'me ka tsoela pele ka liteko tsa ka, tse ileng tsa fella ka li-buds tse ngata. Sephetho sa ho itlhokofatsa ha ka e bile algorithm e latelang:

  1. Re qala setshelo sa Docker ka mokhoa o kopanetsoeng.

    docker run --privileged -it docker:18.09.6

    Ela hloko mofuta oa setshelo, hata ka ho le letona kapa ka ho le letšehali mme DinD ea hau e fetoha mokopu. Ha e le hantle, lintho li senyeha hangata ha phetolelo e ncha e lokolloa.
    Re tlameha ho kena hang-hang ka har'a khetla.

  2. Re ntse re leka ho fumana hore na ke linkho life tse ntseng li sebetsa (Karabo: ha ho letho), empa ha re tsamaise taelo leha ho le joalo:

    docker ps

    U tla makala hanyane, empa ho ile ha fumaneha hore daemon ea Docker ha e sebetse:

    error during connect: Get http://docker:2375/v1.40/containers/json: dial tcp: lookup docker on 
    192.168.65.1:53: no such host

  3. Ha re e tsamaise ka borona:

    dockerd &

    Taba e 'ngoe e sa thabiseng:

    failed to start daemon: Error initializing network controller: error obtaining controller instance: failed 
    to create NAT chain DOCKER: Iptables not found

  4. Kenya li-iptables le liphutheloana tsa bash (ntho e 'ngoe le e' ngoe e monate ho sebetsa ka bash ho feta ho sh):

    apk add --no-cache iptables bash

  5. Ha re qaleng bash. Qetellong re khutlela ka har'a khetla e tloaelehileng

  6. Ha re leke ho tsamaisa Docker hape:

    dockerd &

    Re lokela ho bona leqephe le lelelele la lifate le qetellang ka:

    INFO[2019-11-25T19:51:19.448080400Z] Daemon has completed initialization          
    INFO[2019-11-25T19:51:19.474439300Z] API listen on /var/run/docker.sock

  7. Tobetsa Enter. Re khutletse bash.

Ho tloha joale ho ea pele, re ka leka ho hlahisa lijana tse ling ka har'a sets'oants'o sa rona sa Docker, empa ho thoe'ng haeba re batla ho hlahisa sejana se seng sa Docker ka har'a setshelo sa rona sa Docker kapa ho na le ho hong ho sa tsamaeeng hantle ebe setshelo se oa? Qala hape.

Sets'oants'o sa DinD le liteko tse ncha

Ke ile ka matha Docker joang ka har'a Docker le se neng se tsoa ho eona
Ho qoba ho pheta mehato e kaholimo khafetsa, ke thehile setshelo sa ka sa DinD:

https://github.com/alekslitvinenk/dind

Tharollo e sebetsang ea DinD e ile ea mpha bokhoni ba ho tsamaisa Docker ka hare ho Docker khafetsa le ho etsa liteko tse ngata tse makatsang.
Ke tlil'o hlalosa teko e le 'ngoe e joalo (e atlehileng) ea ho tsamaisa MySQL le Nodejs hona joale.
Ba hlokang mamello ka ho fetisisa ba ka bona hore na ho bile joang mona

Kahoo a re qale:

  1. Re hlahisa DinD ka mokhoa oa ho sebelisana. Mofuta ona oa DinD, re hloka ho etsa 'mapa oa likou tsohle tseo lijana tsa rona li ka li sebelisang (ke se ke ntse ke sebetsa ho sena)

    docker run --privileged -it 
    -p 80:8080 
    -p 3306:3306 
    alekslitvinenk/dind

    Re kena ka bash, ho tloha moo re ka qalang hang-hang ho qala lijana tsa bana.

  2. Qala MySQL:

    docker run --name mysql -e MYSQL_ROOT_PASSWORD=strongpassword -d -p 3306:3306 mysql

  3. Re hokela database ka tsela e ts'oanang le eo re neng re tla hokela ho eona sebakeng sa heno. Ha re etse bonnete ba hore tsohle lia sebetsa.

  4. Qala setshelo sa bobeli:

    docker run -d --rm -p 8080:8080 alekslitvinenk/hello-world-nodejs-server

    Ka kopo hlokomela hore 'mapa oa boema-kepe o tla ba hantle 8080:8080, kaha re se re entse 'mapa oa port 80 ho tloha ho moamoheli ho ea sejana sa motsoali ho ea ho port 8080.

  5. Re ea ho localhost ho sebatli, etsa bonnete ba hore seva se arabela "Hello World!"

Tabeng ea ka, liteko tsa lijana tsa Docker tse kentsoeng li ile tsa bonahala li le ntle haholo 'me ke tla tsoelapele ho nts'etsapele projeke le ho e sebelisa bakeng sa papali. Ho bonahala ho 'na hore ena ke tharollo e bobebe haholo ho feta Kubernetes le Jenkins X. Empa ena ke maikutlo a ka a ikemetseng.

Ke nahana hore ke tsohle bakeng sa sehlooho sa kajeno. Sengoliloeng se latelang ke tla hlalosa ka botlalo liteko tsa ho tsamaisa Docker khafetsa ho Docker le li-directory tse ntseng li hola ka har'a lijana tse kentsoeng.

PES Haeba u fumana morero ona o le molemo, ka kopo e fe naleli ho GitHub, e fereko 'me u bolelle metsoalle ea hau.

Edita1 Liphoso tse lokisitsoeng, tse shebaneng le livideo tse 2

Source: www.habr.com

Eketsa ka tlhaloso