Mhoroi mose! Mune yake
Musha
Izvo zvose zvakatanga pamvura yaSeptember manheru pandakanga ndichichenesa muchina wandakabhadhara $ 5 paDhijitari Ocean, iyo yakanga yakaomeswa nechando nekuda kwekuti Docker yakanga yazadza zvose 24 gigabytes yedhisiki nzvimbo iripo nemifananidzo uye midziyo. Chishamiso ndechekuti mifananidzo yese iyi nemidziyo zvaive zvenguva pfupi uye zvaingodiwa kuti ndiedze kushanda kwechikumbiro changu pese paiburitswa shanduro itsva yeraibhurari kana hurongwa. Ndakaedza kunyora magwaro egobolo uye kumisikidza cron purogiramu yekuchenesa marara, asi hazvina kubatsira: nguva imwe neimwe yaingopera nevhavha yedhisiki yangu ichidyiwa uye sevha yakarembera (papamusoro). Pane imwe nguva, ndakasangana nechinyorwa nezve maitiro ekumhanyisa Jenkins mumudziyo uye nemagadzirirwo aanogona kugadzira nekudzima mapaipi ekuvaka kuburikidza nedocker daemon socket inotumirwa mairi. Ndakafarira zano, asi ndakafunga kuenderera mberi uye kuyedza kuyedza nekumhanyisa Docker mukati meDocker. Panguva iyoyo, kwandiri zvaiita senge mhinduro ine musoro kurodha mifananidzo yeDocker uye kugadzira midziyo yezvese zvikumbiro zvandaida kuti ndiedze mukati mechimwe chigadziko (ngatichidaidze chigaba chekugadzira). Pfungwa iyi yaive yekutanga chigaba chine -rm mureza, icho chinodzima chigaba chose nezvose zvirimo kana chamiswa. Ndakatarisa nemufananidzo weDocker kubva kuDocker pachayo (
Dzidzira. Cones
Ndakagadzirira kuita kuti mudziyo ushande nenzira yandaida uye ndakaenderera mberi nekuedza kwangu, izvo zvakaguma nezviuru zvemabuds. Mhedzisiro yekuzvitambudza kwangu yaive inotevera algorithm:
-
Isu tinotangisa mudziyo weDocker mune inopindirana modhi.
docker run --privileged -it docker:18.09.6
Teerera kune vhezheni yemudziyo, nhanho kurudyi kana kuruboshwe uye DinD yako inoshanduka kuita nhanga. Muchokwadi, zvinhu zvinoputsika kazhinji kana vhezheni itsva yaburitswa.
Tinofanira pakarepo kupinda mugoko. -
Tiri kuedza kutsvaga kuti ndeapi midziyo iri kushanda (Mhinduro: hapana), asi ngatimhanyei murairo zvakadaro:
docker ps
Iwe uchashamisika zvishoma, asi zvinozoitika kuti iyo Docker daemon haisi kana kumhanya:
error during connect: Get http://docker:2375/v1.40/containers/json: dial tcp: lookup docker on 192.168.65.1:53: no such host
-
Ngatimhanyei pachedu:
dockerd &
Chimwe chishamiso chisingafadzi:
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: Iptables not found
-
Isa iyo iptables uye bash mapakeji (zvese zvinonyanya kunakidza kushanda mu bash pane mu sh):
apk add --no-cache iptables bash
-
Ngatitangei bash. Pakupedzisira tadzoka mugoko rakajairika
-
Ngatiedze kuvhura Docker zvakare:
dockerd &
Tinofanira kuona pepa refu rematanda rinopera ne:
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
-
Dzvanya Enter. Tadzoka mubash.
Kubva zvino zvichienda mberi, tinogona kuyedza kuvhura zvimwe midziyo mukati meDocker mudziyo wedu, asi ko kana tichida kuburitsa imwe mudziyo weDocker mukati meDocker mudziyo wedu kana chimwe chinhu chikatadza uye mudziyo ukaputsika? Tanga patsva zvakare.
Own DinD mudziyo uye zviedzo zvitsva
Kuti ndidzivise kudzokorora nhanho dziri pamusoro kakawanda, ndakagadzira yangu DinD mudziyo:
Iyo inoshanda yeDinD mhinduro yakandipa kugona kumhanyisa Docker mukati meDocker nekudzokorodza uye kuita mamwe maedventurous kuyedza.
Ndiri kuzotsanangura imwe yakadaro (yakabudirira) kuyedza nekumhanyisa MySQL neNodejs izvozvi.
Vasina moyo murefu vanogona kuona kuti zvanga zvaita sei pano
Saka ngatitangei:
-
Isu tinotangisa DinD mune inopindirana modhi. Mune iyi vhezheni yeDinD, isu tinofanirwa kupeta mamepu ese madoko anogona kushandiswa nevana vedu (ini ndiri kutoshanda pane izvi)
docker run --privileged -it -p 80:8080 -p 3306:3306 alekslitvinenk/dind
Isu tinopinda mubash, kubva kwatinogona kutanga nekukasira midziyo yevana.
-
Tanga MySQL:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=strongpassword -d -p 3306:3306 mysql
-
Isu tinobatanidza kune dhatabhesi nenzira imwechete yatingabatanidza nayo munharaunda. Ngative nechokwadi kuti zvese zvinoshanda.
-
Tangisa mudziyo wechipiri:
docker run -d --rm -p 8080:8080 alekslitvinenk/hello-world-nodejs-server
Ndokumbira utarise kuti mepu yechiteshi ichanyatso 8080:8080, sezvo isu takatogadzira mepu yechiteshi 80 kubva kumugadziri kuenda kune mudziyo wevabereki kuenda kuchiteshi 8080.
-
Isu tinoenda kune localhost mubrowser, ita shuwa kuti sevha inopindura "Mhoro Nyika!"
Mune yangu, kuyedza nemidziyo yeDocker yakave yakanaka uye ini ndicharamba ndichigadzira chirongwa ichi uye nekuchishandisa pakuita. Zvinoratidzika kwandiri kuti iyi ndiyo yakanyanya kureruka mhinduro kupfuura Kubernetes naJenkins X. Asi iyi ndiyo yangu subjective maonero.
Ndinofunga kuti ndizvo chete zvechinyorwa chanhasi. Muchinyorwa chinotevera ini ndichatsanangura mune zvakadzama kuyedza nekumhanyisa Docker kudzokorora muDocker uye kukwidza madhairekitori akadzika mumidziyo yakavharirwa.
PS Kana iwe ukaona ichi purojekiti ichibatsira, ndapota ipa nyeredzi paGitHub, forogo uye uudze shamwari dzako.
Edit1 Mhosho dzakagadziriswa, dzakanangana nemavhidhiyo maviri
Source: www.habr.com