Answers:
රූපයක උදාහරණයක් බහාලුමක් ලෙස හැඳින්වේ. ඔබට රූපයක් ඇත, එය ඔබ විස්තර කරන පරිදි ස්ථර සමූහයකි. ඔබ මෙම රූපය ආරම්භ කරන්නේ නම්, ඔබට මෙම රූපයේ ධාවන බහාලුමක් තිබේ. ඔබට එකම රූපයේ බොහෝ ධාවන බහාලුම් තිබිය හැකිය.
ඔබගේ සියලුම පින්තූර docker images
ඔබට දැකගත හැකි අතර ඔබේ ධාවන බහාලුම් සමඟ docker ps
ඔබට දැක ගත හැකිය (තවද ඔබට සියලු බහාලුම් දැකිය හැකිය docker ps -a
).
එබැවින් රූපයක ධාවන අවස්ථාව බහාලුමකි.
ඩොකර් යෙදවීම ස්වයංක්රීය කිරීම පිළිබඳ මගේ ලිපියෙන් :
ඩෝකර්ලන්ඩ් හි රූප සහ බහාලුම් තිබේ. මේ දෙක එකිනෙකට සමීපව බැඳී ඇති නමුත් එකිනෙකට වෙනස් ය. මට නම්, මෙම ද්විභාෂාව ග්රහණය කර ගැනීමෙන් ඩොකර්ට ඉමහත් පැහැදිලි කර ඇත.
රූපයක් යනු නිෂ්ක්රීය, වෙනස් කළ නොහැකි, ගොනුවක සැණින් ඡායාරූපයකි. පින්තූර සාදනු ලබන්නේ බිල්ඩ් විධානයෙනි, ඒවා ධාවනයෙන් ආරම්භ වූ විට බහාලුමක් නිපදවනු ඇත . පින්තූර ගබඩා කර ඇත්තේ registry.hub.docker.com වැනි ඩොකර් ලේඛකාධිකාරයක ය . ඒවා තරමක් විශාල විය හැකි බැවින්, පින්තූර නිර්මාණය කර ඇත්තේ වෙනත් රූපවල ස්ථර වලින් වන අතර එමඟින් ජාලය හරහා රූප මාරු කිරීමේදී අවම දත්ත ප්රමාණයක් යැවීමට ඉඩ ලබා දේ.
ධාවනය කිරීමෙන් දේශීය රූප ලැයිස්තු ගත කළ හැකිය docker images
:
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ubuntu 13.10 5e019ab7bf6d 2 months ago 180 MB
ubuntu 14.04 99ec81b80c55 2 months ago 266 MB
ubuntu latest 99ec81b80c55 2 months ago 266 MB
ubuntu trusty 99ec81b80c55 2 months ago 266 MB
<none> <none> 4ab0d9120985 3 months ago 486.5 MB
සැලකිල්ලට ගත යුතු කරුණු කිහිපයක්:
-t
මෙම ධජ docker build
විධානය, හෝ docker tag
දැනට පවතින ප්රතිරූපය -ing. ඔබට තේරුමක් ඇති නාමකරණය ටැගය රූප නිදහස් ඉන්නේ, නමුත් එම docker දැන දී ලේඛන ස්ථානය ලෙස ටැගය භාවිතා කරනු ඇත docker push
හෝ docker pull
.[REGISTRYHOST/][USERNAME/]NAME[:TAG]
. සඳහා ubuntu
ඉහත, REGISTRYHOST විය ත්රිපිටක registry.hub.docker.com
. එබැවින් ඔබ ඔබේ රූපය my-application
රෙජිස්ට්රි එකක ගබඩා කිරීමට අදහස් කරන්නේ නම් docker.example.com
, ඔබ එම රූපය ටැග් කළ යුතුය docker.example.com/my-application
.latest
ටැගය එය ඔබ ටැගය නියම නැති විට, හුදෙක් ටැග තියෙන්නේ නොව ඉන්ද්රජාලික වේ.<none>
TAG සහ REPOSITORY ලැබෙනු ඇත. ඒවා අමතක කිරීම පහසුය.ඡායාරූප පිළිබඳ වැඩි විස්තර ලබා ගත හැකි වේ Docker ප්රලේඛනය සහ ටීකා .
ක්රමලේඛන රූපකයක් භාවිතා කිරීම සඳහා, රූපයක් පන්තියක් නම්, බහාලුමක් යනු පන්තියක නිදසුනකි - ධාවන කාල වස්තුවකි. ඔබ ඩෝකර් භාවිතා කරන්නේ ඇයිදැයි බහාලුම් බලාපොරොත්තු වේ; ඒවා යෙදුම් ධාවනය කළ හැකි පරිසරයක සැහැල්ලු හා අතේ ගෙන යා හැකි සංවෘත කිරීම් වේ.
සමඟ දේශීය ධාවන බහාලුම් බලන්න docker ps
:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f2ff1af05450 samalba/docker-registry:latest /bin/sh -c 'exec doc 4 months ago Up 12 weeks 0.0.0.0:5000->5000/tcp docker-registry
මෙන්න මම ඩොකර් රෙජිස්ට්රියේ ඩොකර් කළ අනුවාදයක් ධාවනය කරමි, එවිට මගේ පින්තූර ගබඩා කිරීමට පුද්ගලික ස්ථානයක් ඇත. නැවතත්, සැලකිල්ලට ගත යුතු කරුණු කිහිපයක්:
docker ps
ධාවනය වන බහාලුම් පමණක් ප්රතිදානය කරයි. ඔබට සියලු බහාලුම් ( ධාවනය හෝ නැවැත්වීම ) නැරඹිය හැකිය docker ps -a
.--name
ධජය හරහා ආරම්භක බහාලුමක් හඳුනා ගැනීමට NAMES භාවිතා කළ හැකිය .ඩොකර් සමඟ මා මුලින් කලකිරීමට පත්වූයේ, නොකැඩූ පින්තූර සහ නැවතුම් බහාලුම් නිරන්තරයෙන් ගොඩ නැගීමයි . අවස්ථා කිහිපයකදී මෙම ගොඩනැගීමේ ප්රති hard ලය වූයේ දෘ hard තැටි උපරිම ලෙස මගේ ලැප්ටොප් පරිගණකය මන්දගාමී වීම හෝ මගේ ස්වයංක්රීය ගොඩනැගීමේ නල මාර්ගය නතර කිරීමයි. "සෑම තැනකම බහාලුම්" ගැන කතා කරන්න!
docker rmi
මෑත dangling=true
විමසුම සමඟ සංයෝජනය කිරීමෙන් අපට නොකැඩූ සියලුම පින්තූර ඉවත් කළ හැකිය :
docker images -q --filter "dangling=true" | xargs docker rmi
පවතින බහාලුම් පිටුපස ඇති පින්තූර ඉවත් කිරීමට ඩෝකර්ට නොහැකි වනු ඇත, එබැවින් ඔබට docker rm
මුලින් නැවැත්වූ බහාලුම් ඉවත් කිරීමට සිදුවනු ඇත :
docker rm `docker ps --no-trunc -aq`
මේවා ඩෝකර් සමඟ දන්නා වේදනාකාරී ස්ථාන වන අතර අනාගත නිකුතුවලදී ඒවා විසඳිය හැකිය. කෙසේ වෙතත්, රූප සහ බහාලුම් පිළිබඳ පැහැදිලි අවබෝධයකින් යුතුව, භාවිතයන් කිහිපයක් සමඟ මෙම තත්වයන් වළක්වා ගත හැකිය:
docker rm [CONTAINER_ID]
.docker rmi [IMAGE_ID]
.docker image prune
අන්තරාදායක රූප පිරිසිදු කිරීමට භාවිතා කළ හැකිය . භාවිතයට නොගත් ඩොකර් වස්තු කප්පාදු කරන්න
docker system prune
පහසු වචන වලින්.
රූප -
බහාලුම් සෑදීම සඳහා භාවිතා කරන ගොනු පද්ධතිය සහ වින්යාස කිරීමේ (කියවීමට පමණි) යෙදුම. වැඩි විස්තර .
බහාලුම් -
මේවා ඩෝකර් රූපවල ධාවන අවස්ථා වේ. බහාලුම් සත්ය යෙදුම් ක්රියාත්මක කරයි. කන්ටේනරයකට යෙදුමක් සහ එහි සියලු පරායත්තතා ඇතුළත් වේ. එය කර්නලය වෙනත් බහාලුම් සමඟ බෙදා ගන්නා අතර ධාරක මෙහෙයුම් පද්ධතියේ පරිශීලක අවකාශයේ හුදකලා ක්රියාවලියක් ලෙස ක්රියාත්මක වේ. වැඩි විස්තර .
සැලකිල්ලට ගත යුතු වෙනත් වැදගත් කොන්දේසි:
ඩෝකර් ඩීමන් -
ඩොකර් බහාලුම් ගොඩනැගිල්ල, ධාවනය සහ බෙදා හැරීම කළමනාකරණය කරන ධාරකයේ පසුබිම් සේවාව.
ඩෝකර් සේවාදායකයා -
විධාන රේඛා මෙවලම පරිශීලකයාට ඩෝකර් ඩීමන් සමඟ අන්තර් ක්රියා කිරීමට ඉඩ සලසයි.
ඩෝකර් වෙළඳසැල -
ගබඩාව යනු ඩෝකර් රූපවල ලේඛකාධිකාරයකි. ඔබට ලබා ගත හැකි සියලුම ඩෝකර් රූපවල නාමාවලියක් ලෙස ලේඛකාධිකාරය ගැන සිතිය හැකිය.
මෙම බ්ලොග් සටහනේ පින්තූරයක් වචන දහසක් වටී.
(ගැඹුරු අවබෝධයක් සඳහා කරුණාකර මෙය කියවන්න .)
සාරාංශය:
docker run image_name:tag_name
) => ධාවනය වන රූපයක් ලබා දෙයි එනම් බහාලුම් (සංස්කරණය කළ හැකි)කන්ටේනරයක් ධාවනය වන රූපයක් ලෙස සිතීම සරල වුවත්, මෙය තරමක් නිවැරදි නොවේ .
රූපයක් යනු සැබවින්ම බහාලුමක් බවට පත් කළ හැකි අච්චුවකි. පින්තූරයක් බහාලුමක් බවට පත් කිරීම සඳහා, ඩෝකර් එන්ජිම රූපය ගෙන, ඉහළින් කියවීමේ-ලිවීමේ ගොනු පද්ධතියක් එක් කරන අතර ජාල වරාය, බහාලුම් නාමය, හැඳුනුම්පත සහ සම්පත් සීමාවන් ඇතුළු විවිධ සැකසුම් ආරම්භ කරයි. ධාවනය වන බහාලුමක් තුළ දැනට ක්රියාත්මක වන ක්රියාවලියක් ඇත, නමුත් කන්ටේනරයක් ද නැවැත්විය හැකිය (හෝ ඩොකර්ගේ පාරිභාෂිතයෙන් පිටවීම ). පිටවූ බහාලුමක් රූපයකට සමාන නොවේ , මන්ද එය නැවත ආරම්භ කළ හැකි අතර එහි සැකසුම් සහ ගොනු පද්ධති වෙනස්වීම් රඳවා ගනු ඇත.
docker create
.
සමහර විට සමස්ත කාර්ය ප්රවාහය පැහැදිලි කිරීම උපකාරී වේ.
සෑම දෙයක්ම ඩොකර්ෆයිල් සමඟ ආරම්භ වේ . Dockerfile යනු රූපයේ ප්රභව කේතයයි.
Dockerfile නිර්මාණය කළ පසු, ඔබ එය සාදන්නේ කන්ටේනරයේ රූපය නිර්මාණය කිරීම සඳහා ය. රූපය යනු ඩොකර්ෆයිල් වන “ප්රභව කේතයේ” “සම්පාදනය කළ අනුවාදය” පමණි.
ඔබ කන්ටේනරයේ රූපය ලබාගත් පසු, ඔබ එය රෙජිස්ට්රි භාවිතා කර නැවත බෙදාහැරිය යුතුය . ලේඛකාධිකාරය Git ගබඩාවක් වැනි ය - ඔබට රූප තල්ලු කර අදින්න පුළුවන්.
ඊළඟට, ඔබට බහාලුම් ධාවනය කිරීමට රූපය භාවිතා කළ හැකිය . ධාවනය වන බහාලුමක් බොහෝ අංශවල අථත්ය යන්ත්රයකට බොහෝ සෙයින් සමාන ය (නමුත් හයිපර්වයිසර් නොමැතිව ).
මෙන්න විවිධ විධානයන් සහ ඒවා ආශ්රිත යෙදවුම් සහ ප්රතිදානයන් පෙන්වන අන්තයේ සිට අවසානය දක්වා වූ කාර්ය ප්රවාහය. එමඟින් රූපයක් සහ බහාලුමක් අතර සම්බන්ධතාවය පැහැදිලි කළ යුතුය.
+------------+ docker build +--------------+ docker run -dt +-----------+ docker exec -it +------+
| Dockerfile | --------------> | Image | ---------------> | Container | -----------------> | Bash |
+------------+ +--------------+ +-----------+ +------+
^
| docker pull
|
+--------------+
| Registry |
+--------------+
ඔබට ධාවනය කළ හැකි පින්තූර ලැයිස්තුගත කිරීමට, ක්රියාත්මක කරන්න:
docker image ls
ඔබට විධාන ක්රියාත්මක කළ හැකි බහාලුම් ලැයිස්තුගත කිරීම සඳහා:
docker ps
මෙහි ඇති සියලුම ප්රශ්න කියවා තිබියදීත් රූපය සහ ස්තරය පිළිබඳ සංකල්පය මට තේරුම් ගත නොහැකි වූ අතර අවසානයේ ඩොකර් (ඩු!) වෙතින් ලබාගත් මෙම විශිෂ්ට ලියකියවිලි වලට බාධා විය.
එහි ඇති උදාහරණය ඇත්ත වශයෙන්ම සමස්ත සංකල්පය තේරුම් ගැනීමට යතුරයි. එය දීර් post තනතුරකි, එබැවින් පැහැදිලි බවක් ලබා ගැනීම සඳහා සැබවින්ම ග්රහණය කර ගත යුතු ප්රධාන කරුණු සාරාංශ කරමි.
රූපය : ඩෝකර් රූපයක් සෑදී ඇත්තේ කියවීමට පමණි ස්ථර මාලාවෙනි
ස්ථරය : සෑම ස්ථරයක්ම රූපයේ ඩෝකර්ෆයිල් හි උපදෙස් නිරූපණය කරයි.
Example
: පහත ඩොකර්ෆයිල් හි විධාන හතරක් අඩංගු වන අතර, ඒ සෑම එකක්ම තට්ටුවක් සාදයි.
උබුන්ටු වෙතින්: 15.04
COPY. / යෙදුම
RUN make / app
CMD python /app/app.py
වැදගත් වන්නේ , සෑම ස්ථරයක්ම ඊට පෙර ස්ථරයෙන් වෙනස්කම් සමූහයක් පමණි.
එබැවින් බහාලුමක් සහ රූපයක් අතර ඇති ප්රධාන වෙනස වන්නේ ඉහළ ලිවිය හැකි ස්තරයයි . අළුත් එකතු කරන හෝ පවතින දත්ත වෙනස් කරන බහාලුමට ලියන සියල්ල මෙම ලිවිය හැකි ස්තරයේ ගබඩා කර ඇත. කන්ටේනරය මකා දැමූ විට, ලිවිය හැකි ස්තරය ද මකා දමනු ලැබේ. යටින් පවතින රූපය නොවෙනස්ව පවතී.
පින්තූර තේරුම් ගැනීම cnd තැටියේ දෘෂ්ටි කෝණයෙන් බහාලුම්
ධාවනය වන භාජනයක ආසන්න ප්රමාණය බැලීමට ඔබට docker ps -s
විධානය භාවිතා කළ හැකිය . ඔබ ලබා ගන්න size
සහ virtual size
එම නිමැවුම් දෙකක් ලෙස:
ප්රමාණය: එක් එක් බහාලුම්වල ලිවිය හැකි ස්තරය සඳහා භාවිතා කරන දත්ත ප්රමාණය (තැටියේ)
අතථ්ය ප්රමාණය: බහාලුම භාවිතා කරන කියවීමට පමණක් ඇති රූප දත්ත සඳහා භාවිතා කරන දත්ත ප්රමාණය. බහාලුම් කිහිපයක් හෝ සියල්ල කියවීමට පමණක් ඇති රූප දත්ත බෙදා ගත හැකිය. එබැවින් මේවා ආකලන නොවේ. රූපය මඟින් තැටියේ කොපමණ ප්රමාණයක් භාවිතා වේදැයි ගණනය කිරීමට ඔබට සියලු අථත්ය ප්රමාණ එකතු කළ නොහැක
තවත් වැදගත් සංකල්පයක් වන්නේ පිටපත් මත ලිවීමේ උපාය මාර්ගයයි
රූපය තුළ පහළ ස්ථරයක ගොනුවක් හෝ නාමාවලියක් තිබේ නම් සහ තවත් ස්ථරයකට (ලිවිය හැකි ස්තරය ඇතුළුව) එයට කියවීමේ ප්රවේශය අවශ්ය නම්, එය දැනට පවතින ගොනුව භාවිතා කරයි. පළමු වරට වෙනත් ස්ථරයකට ගොනුව වෙනස් කිරීමට අවශ්ය වේ (රූපය ගොඩනඟන විට හෝ කන්ටේනරය ධාවනය කරන විට), ගොනුව එම ස්තරයට පිටපත් කර වෙනස් කරනු ලැබේ.
එය මා වැනි වෙනත් කෙනෙකුට උපකාරී වනු ඇතැයි මම බලාපොරොත්තු වෙමි.
Dockerfile → (තැනීමේ) → රූප → (ධාවනය) → බහාලුම් .
ඩොකර්ෆයිල් : ඔබේ මෙහෙයුම් පද්ධතියට ඔබ කැමති ආකාරයට සපයන ඩොකර් උපදෙස් මාලාවක් අඩංගු වන අතර ඔබේ සියලු මෘදුකාංග ස්ථාපනය / වින්යාස කරයි.
රූපය : සම්පාදනය කරන ලද ඩොකර්ෆයිල්. ඔබට බහාලුමක් ධාවනය කිරීමට අවශ්ය සෑම අවස්ථාවකම ඩොකර්ෆයිල් නැවත ගොඩ නැගීමෙන් ඔබේ කාලය ඉතිරි වේ. එය ඔබගේ ප්රතිපාදන කේතය සැඟවීමට මාර්ගයකි.
බහාලුම : අථත්ය මෙහෙයුම් පද්ධතියම. ඔබට එය තුළට ගොස් ඔබට අවශ්ය ඕනෑම විධානයක් ක්රියාත්මක කළ හැකිය, එය සැබෑ පරිසරයක් සේ. ඔබට එකම රූපයෙන් බහාලුම් 1000+ ධාවනය කළ හැකිය.
කන්ටේනරයක් යනු ක්රියාත්මක කළ හැකි ද්විමයක් වන අතර එය ධාරක මෙහෙයුම් පද්ධතිය විසින් ක්රියාත්මක කළ යුතු සීමාවන් මාලාවක් යටතේ ක්රියාත්මක කළ යුතු අතර එය යෙදුමක් (උදා.
සාමාන්ය සීමාවන් වන්නේ ක්රියාවලි-හුදකලා කිරීම, ආරක්ෂාව සම්බන්ධ ( SELinux භාවිතා කිරීම වැනි) ය ආරක්ෂාව කිරීම වැනි) සහ පද්ධති සම්පත් සම්බන්ධ (මතකය, තැටිය, CPU සහ ජාලකරණය) ය.
මෑතක් වන තුරුම, දැඩි සීමාවන් යටතේ ක්රියාත්මක කළ හැකි දේ ක්රියාත්මක කිරීමේ හැකියාව සඳහා යුනික්ස් පාදක පද්ධතිවල කර්නල් පමණක් සහාය විය. අද බොහෝ බහාලුම් කතා බොහෝ දුරට ලිනක්ස් හෝ වෙනත් යුනික්ස් බෙදාහැරීම් වලට සම්බන්ධ වන්නේ එබැවිනි.
ඩෝකර් යනු මෙහෙයුම් පද්ධතියට (ලිනක්ස් බොහෝ දුරට) පැවසීමට දන්නා යෙදුම් වලින් එකකි. ක්රියාත්මක කළ හැකි දේ ඩෝකර් රූපයේ අඩංගු වන අතර එය තාර ගොනුවක් පමණි. එය ක්රියාත්මක කළ හැකි වන්නේ සාමාන්යයෙන් ලිනක්ස් බෙදාහැරීමක (උබුන්ටු, සෙන්ටෝස්, ඩේබියන්, ආදිය) ඉවත් කරන ලද අනුවාදයකි.
බොහෝ අය ක්රියාත්මක කළ හැකි ලෙස ලිනක්ස් පදනමක් භාවිතා කළද, ධාරක මෙහෙයුම් පද්ධතියට එය ක්රියාත්මක කළ හැකි තාක් කල් එය වෙනත් ද්විමය යෙදුමක් විය හැකිය ( සීරීම් භාවිතා කර සරල පාදක රූපයක් නිර්මාණය කිරීම බලන්න ). ඩෝකර් පිංතූරයේ ඇති ද්විමය මෙහෙයුම් පද්ධතියක් හෝ හුදෙක් යෙදුමක් වේවා, මෙහෙයුම් පද්ධතියේ සත්කාරක සමාගමට එය තවත් ක්රියාවලියක් පමණි.
ක්රියාවලියක් ක්රියාත්මක වන විට අදාළ විය යුතු සීමාවන් ඩොකර් වැනි වෙනත් යෙදුම් වලට ධාරක මෙහෙයුම් පද්ධතියට පැවසිය හැකිය, LXC , libvirt සහ systemd ඇතුළත් වේ. ඩෝකර් මෙම යෙදුම් ලිනක්ස් මෙහෙයුම් පද්ධතිය සමඟ වක්රව අන්තර්ක්රියා කිරීමට භාවිතා කළ නමුත් දැන් ඩෝකර් ලිනක්ස් සමඟ කෙලින්ම අන්තර් ක්රියා කරන්නේ “ ලිබ්කොන්ටේනර් ” නම් පුස්තකාලයෙනි .
එබැවින් බහාලුම් යනු ක්රූට් කිරීමට භාවිතා කළ ආකාරයටම සීමිත ආකාරයකින් ක්රියාත්මක වන ක්රියාවලියකි .
IMO, වෙනත් ඕනෑම බහාලුම් තාක්ෂණයකින් ඩෝකර්ව වෙන් කරන්නේ එහි ගබඩාව (ඩෝකර් හබ්) සහ ඒවායේ කළමනාකරණ මෙවලම් වන අතර එය බහාලුම් සමඟ වැඩ කිරීම අතිශයින්ම පහසු කරයි.
ඩෝකර් (මෘදුකාංග) බලන්න .
ඩෝකර් හි මූලික සංකල්පය වන්නේ බහාලුම් ලෙස සැලකිය හැකි “යන්ත්ර” සෑදීම පහසු කිරීමයි. කන්ටේනරය නැවත භාවිතා කිරීමට උපකාරී වන අතර, පහසුවෙන් බහාලුම් නිර්මාණය කිරීමට සහ අතහැර දැමීමට ඔබට ඉඩ සලසයි.
සෑම මොහොතකම බහාලුමක තත්වය රූප මගින් නිරූපණය කෙරේ. එබැවින් මූලික කාර්ය ප්රවාහය:
බොහෝ පිළිතුරු මේ බව පෙන්වා දුන් පරිදි: ඔබ ගොඩ Dockerfile ආදායමක් ලබා ගැනීමට රූපය ඔබ ක්රියාත්මක රූපය ලබා ගැනීම සඳහා රුවනයකි .
කෙසේ වෙතත්, පහත පියවරයන් මට ඩෝකර් රූපය සහ බහාලුම් මොනවාද යන්න පිළිබඳ හොඳ හැඟීමක් ලබා ගැනීමට උපකාරී විය:
1) ඩොකර්ෆයිල් සාදන්න:
docker build -t my_image dir_with_dockerfile
2) රූපය .tar
ගොනුවට සුරකින්න
docker save -o my_file.tar my_image_id
my_file.tar
රූපය ගබඩා කරයි. එය සමඟ විවෘත කරන්න tar -xvf my_file.tar
, එවිට ඔබට සියලු ස්ථර දැකගත හැකිය. ඔබ එක් එක් ස්ථරයට ගැඹුරට කිමිදුනහොත් එක් එක් ස්ථරයේ එකතු කළ වෙනස්කම් මොනවාදැයි ඔබට දැක ගත හැකිය. (ඒවා ඩොකර්ෆයිල් හි විධාන වලට ඉතා ආසන්න විය යුතුය).
3) කන්ටේනරයක් ඇතුළත බැලීමට ඔබට කළ හැක්කේ:
sudo docker run -it my_image bash
එය මෙහෙයුම් පද්ධතියකට සමාන බව ඔබට පෙනේ.
රූපය OOP හි පන්ති අර්ථ දැක්වීමකට සමාන වන අතර ස්ථර යනු එම පන්තියේ විවිධ ක්රම සහ ගුණාංග වේ.
බහාලුම් යනු වස්තුවක් ක්ෂණිකව හෝ පන්තියක නිදසුනක් ලෙස රූපයේ සත්ය ක්ෂණිකකරණයයි.
ඩෝකර් රූපයක් යෙදුම ක්රියාත්මක කිරීමට අවශ්ය යෙදුම සහ පරිසරය ඇසුරුම් කරන අතර බහාලුමක් යනු රූපයේ ධාවන අවස්ථාවකි.
පින්තූර යනු ඩෝකර් හි ඇසුරුම් කොටස වන අතර එය "ප්රභව කේතයට" හෝ "වැඩසටහනකට" සමාන වේ. බහාලුම් යනු ඩෝකර් හි ක්රියාත්මක කිරීමේ කොටස වන අතර එය “ක්රියාවලියකට” සමාන වේ.
ප්රශ්නයේ දී, "වැඩසටහන" කොටස පමණක් යොමු කර ඇති අතර එය රූපයයි. ඩෝකර් හි "ධාවනය" කොටස කන්ටේනරය වේ. කන්ටේනරයක් ධාවනය කර වෙනස්කම් සිදු කළ විට, එය ක්රියාවලිය තමන්ගේම ප්රභව කේතයේ වෙනසක් සිදු කර එය නව රූපය ලෙස සුරකිනු ඇත.
ආරම්භයේ දී පැහැදිලි කිරීම වඩා හොඳ යැයි මම සිතමි.
ඔබ විධානය ක්රියාත්මක කරයි යැයි සිතමු docker run hello-world
. සිදුවන්නේ කුමක් ද?
එය ඩෝකර් සීඑල්අයි ලෙස හඳුන්වන අතර එය ඩෝකර් විධාන රැගෙන ඩෝකර් සේවාදායක විධාන ඇමතීමට පරිවර්තනය කරයි . රූපයක් ධාවනය කිරීමට ඩෝකර් සේවාදායකයට විධානයක් ලැබුණු විගසම , එය කාලගුණය පරීක්ෂා කරන්නේ රූප හැඹිලිය එවැනි නමක් සහිත රූපයක් තබා ඇති බවයි.
හෙලෝ ලෝකය නොපවතී යැයි සිතමු. Docker සේවාදායකය යයි Docker Hub , (Docker Hub රූප පමණක් නිදහස් ගබඩාව) අහනවා ඒයි Hub, ඔබ ඇත කරන්නේ රූපය ලෙස hello-world
? කේන්ද්රීය ප්රතිචාර - ඔව්, මම කරනවා. කරුණාකර එය මට දෙන්න. බාගත කිරීමේ ක්රියාවලිය ආරම්භ වේ. ඩෝකර් රූපය බාගත කළ විගසම ඩෝකර් සේවාදායකය එය රූප හැඹිලියෙහි තබයි .
එබැවින් අපි ඩෝකර් රූප සහ ඩෝකර් බහාලුම් මොනවාදැයි පැහැදිලි කිරීමට පෙර, ඔබේ පරිගණකයේ මෙහෙයුම් පද්ධතිය සහ එය මෘදුකාංග ක්රියාත්මක වන ආකාරය පිළිබඳ හැඳින්වීමකින් පටන් ගනිමු.
ඔබ ධාවනය කරන විට, උදාහරණයක් ලෙස, ඔබේ පරිගණකයේ ක්රෝම්, එය මෙහෙයුම් පද්ධතියට අමතයි, මෙහෙයුම් පද්ධතියම කර්නලය අමතා අසයි, හේයි මට මෙම වැඩසටහන ක්රියාත්මක කිරීමට අවශ්යයි. ඔබේ දෘඩ තැටියෙන් ගොනු ධාවනය කිරීමට කර්නලය කළමනාකරණය කරයි.
දැන් ඔබට ක්රෝම් සහ නෝඩ්.ජේ වැඩසටහන් දෙකක් ඇති බව සිතන්න. ක්රෝම් ධාවනය කිරීමට පයිතන් අනුවාදය 2 අවශ්ය වන අතර ක්රියාත්මක වීමට Node.js සඳහා පයිතන් අනුවාදය 3 අවශ්ය වේ. ඔබ ඔබේ පරිගණකයේ පයිතන් v2 පමණක් ස්ථාපනය කර ඇත්නම්, ක්රියාත්මක වන්නේ ක්රෝම් පමණි.
මෙම අවස්ථා දෙකම ක්රියාත්මක කිරීම සඳහා, කෙසේ හෝ ඔබ නම් අවකාශය නමින් හැඳින්වෙන මෙහෙයුම් පද්ධති අංගයක් භාවිතා කළ යුතුය. නාම අවකාශයක් යනු ක්රියාවලි, දෘ drive තැටිය, ජාලය, පරිශීලකයින්, සත්කාරක නාම යනාදිය හුදකලා කිරීමට ඔබට අවස්ථාව ලබා දෙන ලක්ෂණයකි.
ඉතින්, අපි රූපයක් ගැන කතා කරන විට ඇත්ත වශයෙන්ම ගොනු පද්ධති සැණෙළියක් ගැන කතා කරමු. ක රූපය නිශ්චිත ඉදි කිරීමට උපදෙස් සහ පාර-දත්ත අඩංගු ශාරීරික ගොනුව රුවනයකි . මෙම කන්ටේනර් තමන්ව ක උදාහරණයක් වේ රූපය ; මෙම බහාලුම සඳහා පමණක් ලබා ගත හැකි නාම අවකාශය භාවිතා කරමින් එය දෘ drive තැටිය හුදකලා කරයි . එබැවින් බහාලුමක් යනු එයට පවරා ඇති විවිධ සම්පත් කාණ්ඩ කරන ක්රියාවලියක් හෝ ක්රියාවලියකි.
ක්රමලේඛන අංශයෙන් මෙන්,
රූප ප්රභව කේතයයි.
ප්රභව කේතය විට සම්පාදනය සහ ඉදිකිරීම් වේ, එය ඉල්ලුම් ලෙස හැඳින්වේ.
ඒ හා සමානව “රූපය සඳහා නිදසුනක් නිර්මාණය කළ විට” එය “ බහාලුමක් ” ලෙස හැඳින්වේ .
docker images
සහ නැතිවූ කොටස මෙහි පිරවීමට මම කැමතියි containers
. ඩෝකර් බහාලුම් සඳහා යූනියන් ගොනු පද්ධතියක් ( යූඑෆ්එස් ) භාවිතා කරයි , එමඟින් බහු ගොනු පද්ධති ධූරාවලියක් තුළ සවි කිරීමට සහ තනි ගොනු පද්ධතියක් ලෙස පෙනී සිටීමට ඉඩ සලසයි. රූපයේ ඇති ගොනු පද්ධතිය read-only
ස්ථරයක් ලෙස සවි කර ඇති අතර, ධාවනය වන බහාලුමේ යම් වෙනසක් මේ මත සවි කර ඇති ස්ථරයකට සිදු කරනු ලැබේ read-write
. මේ නිසා, ඩොකර්ට සිදුවන්නේ ධාවන පද්ධතියේ සිදු කර ඇති වෙනස්කම් සොයා ගැනීම සඳහා ඉහළම කියවීමේ-ලිවීමේ ස්ථරය දෙස බැලීම පමණි.
රූපයක් කන්ටේනරයක "සැණින් ඡායාරූපයක්" ලෙස සිතීමට එය උදව් විය හැකිය .
ඔබට කන්ටේනරයකින් රූප සෑදිය හැකිය (නව "ස්නැප්ෂොට්"), ඔබට රූපයකින් නව බහාලුම් ආරම්භ කළ හැකිය ("ස්නැප්ෂොට්" ක්ෂණිකව ක්රියාත්මක කරන්න). නිදසුනක් ලෙස, ඔබට මූලික රූපයකින් නව බහාලුමක් ක්ෂණිකව ස්ථාපනය කළ හැකිය, බහාලුම්වල විධාන කිහිපයක් ධාවනය කරන්න, ඉන්පසු එය නව රූපයක් ලෙස "ස්නැප්ෂොට්" කරන්න. එවිට ඔබට එම නව රූපයෙන් බහාලුම් 100 ක් ක්ෂණිකව ලබා ගත හැකිය.
සලකා බැලිය යුතු වෙනත් කරුණු:
docker images
.ව්යාජ ක්රමලේඛන ප්රතිසමයක් සඳහා, ඩොකර් සතුව වියුක්ත ImageFactory එකක් ඇති අතර ඒවා ගබඩාවෙන් එන ImageFactories රඳවා තබා ගනී .
ඔබට එම ImageFactory වෙතින් යෙදුමක් නිර්මාණය කිරීමට අවශ්ය වූ විට, ඔබට නව බහාලුමක් ලැබෙනු ඇති අතර ඔබට අවශ්ය පරිදි එය වෙනස් කළ හැකිය. DotNetImageFactory වෙනස් කළ නොහැකි වනු ඇත, මන්ද එය වියුක්ත කර්මාන්තශාලා පන්තියක් ලෙස ක්රියා කරන බැවින් එය ඔබට අවශ්ය අවස්ථා පමණක් ලබා දෙයි.
IContainer newDotNetApp = ImageFactory.DotNetImageFactory.CreateNew(appOptions);
newDotNetApp.ChangeDescription("I am making changes on this instance");
newDotNetApp.Run();
කෙටියෙන්:
බහාලුම යනු කර්නලයක බෙදීමක් (අථත්ය) වන අතර එය පොදු මෙහෙයුම් පද්ධතියක් බෙදාගෙන රූපයක් ධාවනය කරයි (ඩෝකර් රූපය).
බහාලුමක් යනු කේතය ක්රියාත්මක කිරීම සඳහා පැකේජ සහ අවශ්ය සියලු පරායත්තයන් සහිත ස්වයං-තිරසාර යෙදුමකි.
ඩෝකර් බහාලුමක් රූපයක උදාහරණයක් ධාවනය කරයි. ඔබට වැඩසටහනක් සමඟ රූපයක් හා ක්රියාවලියක් සමඟ බහාලුමක් සම්බන්ධ කළ හැකිය :)
මම එය පහත දැක්වෙන ප්රතිසමයෙන් ප්රකාශ කරමි:
+-----------------------------+-------+-----------+
| Domain | Meta | Concrete |
+-----------------------------+-------+-----------+
| Docker | Image | Container |
| Object oriented programming | Class | Object |
+-----------------------------+-------+-----------+