Mounting volume-ka Docker wuu guuldareystaa ka dib marka VPN uu xirmo: hubi daemon-ka
bind mount-kaagu waa hagaagsan yahay. VPN waxay beddeshaa daemon-ka jawaaba macmiilka, markaa daabac endpoint-ka, caddee wadada halkaas, oo jooji tafatirka volume-ka.
Ku dhawaad qoraal kasta oo ku saabsan dhibaatadan waxay eedeynayaa volume-ka, waana sababta saxitaanku u qaato waqti dheer. Waxaad lahayd bind mount shaqeynayay, VPN-ga shirkadda ayaa xirmay, oo docker compose up hadda wuu guuldareystaa iyadoo waddada isha maqan, galbeed faaruq ah, ama mount ay mishiinku diiddo inuu abuuro. Deegaanada aan nadiifiyay, faylka Compose ma uusan isbeddelin waddaduna sax ahayd. Waxa isbeddelay waa daemon-ka helay codsiga, khaladka mount-kuna wuxuu ahaa oo kaliya meeshii ugu horreysay ee farqigaas muuqday.
Volume-ku waligiis ma dhaqaaqin; codsigii ayaa dhaqaaqay
Calaamad -v /srv/app:/app ma aha nuqul galbeed oo uu shell-kaagu sameeyo. Macmiilku wuxuu u beddelaa codsi API, daemon-ka jawaabuna wuxuu xalliyaa /srv/app marka loo eego nidaamkiisa fayl. Marka labada dhinac ay ku shaqeeyaan kernel isku mid ah, waddadaas waa tan aad ku aragto maareeyaha faylasha. Marka endpoint-ku isbeddelo, isla xariggaas waxaa laga raadiyaa mishiin aan waligiis maqal galbeedka mashruucaaga, daemon-kuna wuxuu sheegaa in isha maqan tahay ama si aamusnaan ah wuxuu meesheeda ku abuuraa galbeed faaruq ah.
Taas ayaa sidoo kale sababta volume magac leh uu sii shaqeeyo halka bind mount uusan sii shaqeyn. -v appdata:/app wuxuu magacaabaa kayd uu daemon-ku leeyahay, markaa ma jiro waddo host ah oo ay tahay inay meel gaar ah ka jirto. Haddii beddelka hal adeeg oo ka socda bind mount loo beddelo volume magac leh uu khaladka tirtiro, ma aadan hagaajin dhibaatada. Waxaad xaqiijisay in macmiilka iyo daemon-ku aysan ku heshiin nidaamka fayl ee waddadu ka tirsan tahay, khilaafkaasna wuxuu soo noqdaa isla marka aad mar kale u baahato galbeed host dhab ah.
Daabac endpoint-ka ka hor inta aadan taaban mount-ka
Dhowr dejineed ayaa macmiilka u jeedin kara endpoint, mana ay had iyo jeer heshiis qabaan: --context calan, DOCKER_CONTEXT, DOCKER_HOST shell-ka hadda jira, iyo context-ka lagu kaydiyay habaynta macmiilka. Halkii aad ka fikiri lahayd mudnaanta, dhammaantood daabac oo isbarbar dhig jawaabaha.
docker context show
docker context ls
docker version
docker info --format "{{.Name}} {{.OperatingSystem}} {{.ServerVersion}}"
Habaynta macmiilka waxay ku taal ~/.docker/config.json Linux iyo macOS, iyo %USERPROFILE%\.docker\config.json Windows, qiimaha lagu export-ka tegayasha hadda wuxuu beddelaa kan la kaydiyay kaliya fadhigaas. Haddii endpoint-ku yahay magac host halkii uu ka ahaan lahaa socket maxalli ah, xallinta magacyada iyo waddooyinku waxay go'aamiyaan halka uu ku soo degayo, taasna waa waxa macmiilka VPN dib u qoraa. Tunnel waddo ku daraya ama resolver beddelaya wuxuu u diri karaa magac hore uga dhigan jiray laptop-kan cinwaan ku dhex jira shabakadda shirkadda.
Isbarbar dhig xaaladda halkii aad ka isbarbar dhig lahayd habaynta. Socodsii docker ps -a iyo docker images tunnel-ka oo xiran, ka dibna mar kale oo furan. Liis container oo kala duwan ayaa caddayn ka xoog badan fayl kasta oo habayn ah, sababtoo ah waxay muujineysaa in daemon kale uu ka jawaabay codsigaaga.
Weydii daemon-ka haddii waddadu halkaas ka jirto
Markaad ogaato daemon-ka aad gaartay, ka dhig inuu galbeedka eego. --mount qaabku wuu guuldareystaa fariin ka cad calanka gaaban, sababtoo ah wuxuu xaqiijiyaa isha ka hor inta uusan container-ka bilaabin:
docker run --rm --mount type=bind,source=/srv/app,target=/app alpine ls -la /app
Haddii uu sheego in ishu maqan tahay, ka abuur mishiinka jawaabay, ama adeegga u jeedi volume magac leh oo xogta halkaas ku koobi. Waxa aadan sameyn waa inaad dib u abuurto volume-yo oo aad dib u rakibto mishiinka ka hor hubintan. Ficilladaas waxay beddelaan deegaanka si ay u qariyaan ismaandhaafka iyagoo meeshiisa ku reebaya.
Waddo kale ayaa meel kale gebi ahaan u socota: image soo jiidashadu waa shaqada daemon-ka, ma aha tan macmiilka. Soo jiidasho guuleysatay waxay kaliya caddeynaysaa in daemon-ku gaari karo registry, bind mount shaqeynayana kaliya in waddo la xalliyay. Tijaabi waddo kasta meesha ay dhab ahaan ka socoto, haddii kale waxaad galab ku qaadan doontaa tan khaldan.
Magacyada intranet waxay u guuldareystaan sabab kale
Qeybta labaad ee isla warbixinta ayaa badanaa ah in container-ku uusan gaari karin intranet.corp.example. Taasi waa hab gaar ah, ma aha dhibaato volume labaad. Container-ku wuxuu helaa /etc/resolv.conf marka uu bilaabmo, oo laga soo saaray dejimaha resolver-ka daemon-ka, markaa server DNS uu VPN-ku ku daray ka dib markii container-ka la abuuray ma soo muuqan doono halkaas ilaa container-ka dib loo abuuro.
Resolver-ka ku dhex jira Docker ee shabakad uu isticmaaluhu qeexay wuxuu codsiyada dibadda u gudbiyaa server-yada habaysan ee host-ka, taas oo caawisa marka VPN-ku dib u qoro resolver-ka host-ka oo waxyeello u geysata marka DNS qeybsan uu aag gudaha ah u diro server aan daemon-ku mar dambe arkin. Khariidad cidhiidhi ah oo cad ayaa ka gudubta doodda magacyada aan waligood isbeddelin:
services:
web:
extra_hosts:
- "intranet.corp.example:10.20.30.40"
Tani waxay qoraan gal ku xisaabta hosts ee container-ka, markaa container-ku waligiis wax kama baranayo tunnel-ka, waxayna sidoo kale qaboojisaa cinwaanka. Marka host-ka gudaha uu dhaqaaqo, galku wuu khaldanaadaa ilaa qof uu tafatiro faylka Compose. U isticmaal qalab go'an ama database la dhejiyay, magacyada dhaqaaqana u daa DNS.
Waxa dib u rakibidda dhab ahaan beddesho
Dib u rakibidda Docker Desktop waxay dib u abuurtaa VM-ka, socket-ka iyo liiska context-ka, mount-kuna mar kale wuu shaqeeyaa. Natiijadaas waa dhab oo wax ma barato, taas ayaa sababta isla ciladdu u soo noqoto ka dib cusboonaysiinta VPN ee xigta. Dib u rakibidda waxay beddeshay endpoint-ka macmiilku isticmaalayay; ma aysan heshiisin waddada mashruucaagu magacaabo iyo nidaamka fayl ee daemon-ku dhab ahaan akhriyo.
Nidaamka shaqadayda waa gaaban yahay. Xaqiiji endpoint-ka macmiilku isticmaalayo. Xaqiiji daemon-ka jawaabay adigoo isbarbar dhigaya liisaska container-ka. Weydii daemon-kaas inuu taxo waddada isha. Ka dib oo kaliya tafatir mount-ka, ku dar gal hosts, ama beddel nooc volume. Haddii aad u maamusho faylka Compose koox ka shaqeysa VPN, dooro volume-yo magac leh xogta ay tahay in daemon-ku leeyahay, si waddada host-ku waligeed uusan qeyb ka noqon heshiiska.