Moni nonse! Mu zake
Kunyumba
Zonse zinayamba pa mvula ya September madzulo pamene ndinali kuyeretsa makina omwe ndinabwereka kwa $ 5 pa Digital Ocean, yomwe inali itaundana chifukwa chakuti Docker anali atadzaza ma gigabytes onse a 24 a disk space omwe alipo ndi zithunzi zake ndi zotengera. Chodabwitsa chinali chakuti zithunzi ndi zotengera zonsezi zinali zosakhalitsa ndipo zimangofunika kuyesa momwe ndingagwiritsire ntchito ntchito yanga nthawi iliyonse pamene mtundu watsopano wa laibulale kapena chimango umatulutsidwa. Ndinayesa kulemba zolemba za zipolopolo ndikukhazikitsa ndondomeko ya cron kuti ndiyeretse zinyalala, koma sizinathandize: nthawi zonse zimathera ndi malo a disk disk ndikudyedwa ndi seva ikulendewera (bwino). Panthawi ina, ndidapeza nkhani yokhudza momwe mungayendetsere Jenkins mu chidebe ndi momwe angapangire ndikuchotsa mapaipi omanga kudzera pa socket ya daemon yotumizidwa mmenemo. Ndidakonda lingalirolo, koma ndidaganiza zopitilira ndikuyesera kuyesa Docker mkati mwa Docker. Panthawiyo, zinkawoneka kwa ine yankho lomveka bwino kutsitsa zithunzi za Docker ndikupanga zotengera zonse zomwe ndimafunikira kuyesa mkati mwa chidebe china (tiyeni titchule chidebe chosungira). Lingaliro linali loyambitsa chidebe chokhala ndi -rm mbendera, yomwe imachotsa chidebe chonsecho ndi zonse zomwe zili mkati mwake ikayimitsidwa. Ndidayang'ana chithunzi cha Docker kuchokera ku Docker yokha (
Yesetsani. Cones
Ndinayamba kupanga chidebecho kuti chigwire ntchito momwe ndimafunikira ndikupitilira kuyesa kwanga, zomwe zidapangitsa kuti pakhale masamba ambiri. Zotsatira za kudzizunza kwanga zinali zotsatirazi:
-
Timakhazikitsa chidebe cha Docker munjira yolumikizirana.
docker run --privileged -it docker:18.09.6
Samalani ndi mtundu wa chidebecho, yendani kumanja kapena kumanzere ndipo DinD yanu imasanduka dzungu. M'malo mwake, zinthu zimasweka nthawi zambiri pomwe mtundu watsopano watulutsidwa.
Nthawi yomweyo tiyenera kulowa mu chipolopolo. -
Tikuyesera kuti tidziwe zomwe zikuyendetsa (Yankho: palibe), koma tiyeni tiyendetse lamuloli:
docker ps
Mudzadabwitsidwa pang'ono, koma zikuwoneka kuti daemon ya Docker sikuyenda nkomwe:
error during connect: Get http://docker:2375/v1.40/containers/json: dial tcp: lookup docker on 192.168.65.1:53: no such host
-
Tiyeni tiyendetse tokha:
dockerd &
Chodabwitsa china chosasangalatsa:
failed to start daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: Iptables not found
-
Ikani ma iptables ndi bash phukusi (zonse ndizosangalatsa kugwira ntchito mu bash kuposa sh):
apk add --no-cache iptables bash
-
Tiyeni tiyambe bash. Pomaliza tabwerera mu chipolopolo chomwe mwachizolowezi
-
Tiyeni tiyese kuyambitsanso Docker:
dockerd &
Tiyenera kuwona pepala lalitali la zipika lomwe limatha ndi:
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
-
Dinani Enter. Tabwerera ku bash.
Kuyambira pano, titha kuyesa kuyambitsa zotengera zina mkati mwa chidebe chathu cha Docker, koma bwanji ngati tikufuna kukhazikitsa chidebe china cha Docker mkati mwa chidebe chathu cha Docker kapena china chake chikavuta ndipo chidebecho chikuwonongeka? Yambaninso kachiwiri.
Chotengera chanu cha DinD ndi zoyeserera zatsopano
Kuti ndipewe kubwereza zomwe zili pamwambapa mobwerezabwereza, ndidapanga chidebe changa cha DinD:
Yankho logwira ntchito la DinD linandipatsa kuthekera koyendetsa Docker mkati mwa Docker mobwerezabwereza ndikuchita zoyeserera zambiri.
Ndikufotokozera kuyesa kumodzi kotere (kopambana) kogwiritsa ntchito MySQL ndi Nodejs tsopano.
Osaleza mtima kwambiri atha kuwona momwe zidalili pano
Chifukwa chake, tiyeni tiyambire:
-
Timatsegula DinD mumayendedwe olumikizana. Mu mtundu uwu wa DinD, tifunika kupanga mapu madoko onse omwe nkhokwe za ana athu angagwiritse ntchito (ndikugwira ntchito kale)
docker run --privileged -it -p 80:8080 -p 3306:3306 alekslitvinenk/dind
Timalowa mu bash, pomwe titha kuyamba kuyambitsa zotengera za ana.
-
Tsegulani MySQL:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=strongpassword -d -p 3306:3306 mysql
-
Timagwirizanitsa ku database mofanana ndi momwe tingalumikizireko kwanuko. Tiyeni tiwonetsetse kuti zonse zikuyenda.
-
Yambitsani chidebe chachiwiri:
docker run -d --rm -p 8080:8080 alekslitvinenk/hello-world-nodejs-server
Chonde dziwani kuti mapu adoko adzakhala ndendende 8080:8080, popeza tajambula kale doko 80 kuchokera kwa omwe adalandira kupita ku chidebe cha makolo kupita ku port 8080.
-
Timapita ku localhost mu msakatuli, onetsetsani kuti seva iyankha "Moni Padziko Lonse!"
Kwa ine, kuyesa kwa zotengera za Docker zomwe zidakhalako zidakhala zabwino kwambiri ndipo ndipitiliza kupanga ntchitoyi ndikuigwiritsa ntchito popanga. Zikuwoneka kwa ine kuti iyi ndi njira yopepuka kwambiri kuposa Kubernetes ndi Jenkins X. Koma ili ndi lingaliro langa lokhazikika.
Ndikuganiza kuti ndizo zonse za nkhani ya lero. M'nkhani yotsatira ndifotokoza mwatsatanetsatane zoyeserera poyendetsa Docker mobwerezabwereza ku Docker ndikuyika maulalo akuzama muzotengera zomwe zili ndi zisa.
PS Ngati mukuwona kuti pulojekitiyi ndi yothandiza, chonde ipatseni nyenyezi pa GitHub, ikani ndikuwuza anzanu.
Sinthani1 Zolakwika zokonzedwa, zoyang'ana pamavidiyo awiri
Source: www.habr.com