డాకర్ గురించిన మెటీరియల్ల శ్రేణి యొక్క అనువాదం యొక్క నేటి భాగంలో, మేము డేటాతో పని చేయడం గురించి మాట్లాడుతాము. ముఖ్యంగా, డాకర్ వాల్యూమ్ల గురించి. ఈ మెటీరియల్లలో, మేము డాకర్ ప్రోగ్రామింగ్ మెకానిజమ్లను వివిధ తినదగిన సారూప్యాలతో నిరంతరం పోల్చాము. మేము ఇక్కడ ఈ సంప్రదాయం నుండి వైదొలగము. డాకర్లోని డేటాను సుగంధ ద్రవ్యాలుగా ఉండనివ్వండి. ప్రపంచంలో అనేక సుగంధ ద్రవ్యాలు ఉన్నాయి మరియు డాకర్ డేటాతో పని చేయడానికి అనేక మార్గాలు ఉన్నాయి.
దయచేసి ఈ మెటీరియల్ డాకర్ ఇంజిన్ వెర్షన్ 18.09.1 మరియు API వెర్షన్ ఉపయోగించి తయారు చేయబడిందని గమనించండి 1.39.
డాకర్లోని డేటా తాత్కాలికంగా లేదా శాశ్వతంగా నిల్వ చేయబడుతుంది. తాత్కాలిక డేటాతో ప్రారంభిద్దాం.
తాత్కాలిక డేటా నిల్వ
డాకర్ కంటైనర్లలో తాత్కాలిక డేటాను నిర్వహించడానికి రెండు మార్గాలు ఉన్నాయి.
డిఫాల్ట్గా, కంటైనర్లో నడుస్తున్న అప్లికేషన్ ద్వారా సృష్టించబడిన ఫైల్లు వ్రాయగలిగే కంటైనర్ లేయర్లో నిల్వ చేయబడతాయి. ఈ మెకానిజం పని చేయడానికి, ప్రత్యేకంగా ఏమీ కాన్ఫిగర్ చేయవలసిన అవసరం లేదు. ఇది చౌకగా మరియు ఉల్లాసంగా మారుతుంది. అప్లికేషన్ కేవలం డేటాను సేవ్ చేయాలి మరియు దాని స్వంత పనిని కొనసాగించాలి. అయితే, కంటైనర్ ఉనికిని కోల్పోయిన తర్వాత, అటువంటి సాధారణ మార్గంలో సేవ్ చేయబడిన డేటా కూడా అదృశ్యమవుతుంది.
డాకర్లోని తాత్కాలిక ఫైల్ నిల్వ అనేది ప్రామాణిక తాత్కాలిక డేటా స్టోరేజ్ మెకానిజంను ఉపయోగించి సాధించగలిగే దానికంటే ఎక్కువ స్థాయి పనితీరు అవసరమైన సందర్భాల్లో సరిపోయే మరొక పరిష్కారం. కంటైనర్ ఉనికిలో ఉన్న దానికంటే ఎక్కువ కాలం మీ డేటా నిల్వ చేయబడనవసరం లేకపోతే, మీరు హోస్ట్ యొక్క RAMని ఉపయోగించే తాత్కాలిక సమాచార స్టోర్ అయిన tmpfs - కంటైనర్కు కనెక్ట్ చేయవచ్చు. ఇది డేటా రైటింగ్ మరియు రీడింగ్ కార్యకలాపాల అమలును వేగవంతం చేస్తుంది.
కంటైనర్ ఉనికిని కోల్పోయిన తర్వాత కూడా డేటా నిల్వ చేయబడటం తరచుగా జరుగుతుంది. దీన్ని చేయడానికి, మాకు నిరంతర డేటా నిల్వ విధానాలు అవసరం.
నిరంతర డేటా నిల్వ
కంటైనర్ జీవితకాలం కంటే డేటా జీవితకాలం ఎక్కువ చేయడానికి రెండు మార్గాలు ఉన్నాయి. బైండ్ మౌంట్ టెక్నాలజీని ఉపయోగించడం ఒక మార్గం. ఈ విధానంతో, మీరు మౌంట్ చేయవచ్చు, ఉదాహరణకు, కంటైనర్కు నిజ జీవిత ఫోల్డర్. అటువంటి ఫోల్డర్లో నిల్వ చేయబడిన డేటాతో డాకర్ వెలుపల ఉన్న ప్రక్రియలు కూడా పని చేయగలవు. అది ఎలా చూడు tmpfs మౌంట్ మరియు బైండ్ మౌంట్ టెక్నాలజీ.
మౌంట్ tmpfs మరియు బైండ్ మౌంట్
బైండ్ మౌంట్ టెక్నాలజీని ఉపయోగించడం వల్ల కలిగే నష్టాలు ఏమిటంటే, దాని ఉపయోగం డేటా బ్యాకప్, డేటా మైగ్రేషన్, అనేక కంటైనర్లలో డేటా షేరింగ్ను క్లిష్టతరం చేస్తుంది. నిరంతర డేటా నిల్వ కోసం డాకర్ వాల్యూమ్లను ఉపయోగించడం చాలా మంచిది.
వాల్యూమ్ల డాకర్
వాల్యూమ్ అనేది కంటైనర్ల వెలుపల హోస్ట్ మెషీన్లో ఉన్న ఫైల్ సిస్టమ్. వాల్యూమ్లు డాకర్ ద్వారా సృష్టించబడతాయి మరియు నిర్వహించబడతాయి. డాకర్ వాల్యూమ్ల యొక్క ప్రధాన లక్షణాలు ఇక్కడ ఉన్నాయి:
అవి సమాచారాన్ని శాశ్వతంగా నిల్వ చేసే సాధనం.
అవి స్వతంత్రమైనవి మరియు కంటైనర్ల నుండి వేరు చేయబడతాయి.
వాటిని వేర్వేరు కంటైనర్ల మధ్య పంచుకోవచ్చు.
డేటాను సమర్థవంతంగా చదవడం మరియు వ్రాయడం నిర్వహించడానికి అవి మిమ్మల్ని అనుమతిస్తాయి.
రిమోట్ క్లౌడ్ ప్రొవైడర్ యొక్క వనరులపై వాల్యూమ్లను ఉంచవచ్చు.
వాటిని గుప్తీకరించవచ్చు.
వాటికి పేర్లు పెట్టవచ్చు.
కంటైనర్ డేటాతో వాల్యూమ్ యొక్క ప్రీ-పాపులేషన్ కోసం ఏర్పాటు చేయగలదు.
అవి పరీక్షకు అనుకూలమైనవి.
మీరు చూడగలిగినట్లుగా, డాకర్ వాల్యూమ్లు అద్భుతమైన లక్షణాలను కలిగి ఉన్నాయి. వాటిని ఎలా సృష్టించాలో గురించి మాట్లాడుదాం.
వాల్యూమ్లను సృష్టిస్తోంది
డాకర్ లేదా API అభ్యర్థనలను ఉపయోగించి వాల్యూమ్లను సృష్టించవచ్చు.
కంటైనర్ను ప్రారంభించేటప్పుడు వాల్యూమ్ను సృష్టించడానికి మిమ్మల్ని అనుమతించే డాకర్ఫైల్లోని సూచన ఇక్కడ ఉంది.
VOLUME /my_volume
సారూప్య సూచనలను ఉపయోగిస్తున్నప్పుడు, డాకర్, కంటైనర్ను సృష్టించిన తర్వాత, పేర్కొన్న ప్రదేశంలో ఇప్పటికే ఉన్న డేటాను కలిగి ఉన్న వాల్యూమ్ను సృష్టిస్తుంది. మీరు Dockerfileని ఉపయోగించి వాల్యూమ్ను సృష్టించినట్లయితే, ఇది వాల్యూమ్ యొక్క మౌంట్ పాయింట్ను పేర్కొనవలసిన అవసరం నుండి మీకు ఉపశమనం కలిగించదని గుర్తుంచుకోండి.
మీరు JSON ఆకృతిని ఉపయోగించి డాకర్ఫైల్లో వాల్యూమ్లను కూడా సృష్టించవచ్చు.
అదనంగా, కంటైనర్ నడుస్తున్నప్పుడు కమాండ్ లైన్ సాధనాలను ఉపయోగించి వాల్యూమ్లను సృష్టించవచ్చు.
కమాండ్ లైన్ నుండి వాల్యూమ్లతో పని చేస్తోంది
▍వాల్యూమ్ సృష్టి
కింది ఆదేశంతో మీరు స్వతంత్ర వాల్యూమ్ను సృష్టించవచ్చు:
docker volume create —-name my_volume
▍వాల్యూమ్ల గురించి సమాచారాన్ని కనుగొనండి
డాకర్ వాల్యూమ్ల జాబితాను వీక్షించడానికి, కింది ఆదేశాన్ని ఉపయోగించండి:
docker volume ls
మీరు ఇలాంటి నిర్దిష్ట వాల్యూమ్ను అన్వేషించవచ్చు:
docker volume inspect my_volume
▍వాల్యూమ్ను తొలగిస్తోంది
మీరు ఇలాంటి వాల్యూమ్ను తొలగించవచ్చు:
docker volume rm my_volume
కంటైనర్లు ఉపయోగించని అన్ని వాల్యూమ్లను తీసివేయడానికి, మీరు కింది ఆదేశాన్ని ఆశ్రయించవచ్చు:
docker volume prune
వాల్యూమ్లను తొలగించే ముందు, ఈ ఆపరేషన్ని నిర్ధారించమని డాకర్ మిమ్మల్ని అడుగుతుంది.
ఒక వాల్యూమ్ కంటైనర్తో అనుబంధించబడి ఉంటే, సంబంధిత కంటైనర్ తొలగించబడే వరకు ఆ వాల్యూమ్ తొలగించబడదు. అదే సమయంలో, కంటైనర్ తీసివేయబడినప్పటికీ, డాకర్ దీన్ని ఎల్లప్పుడూ అర్థం చేసుకోదు. ఇది జరిగితే, మీరు కింది ఆదేశాన్ని ఉపయోగించవచ్చు:
docker system prune
ఇది డాకర్ వనరులను శుభ్రం చేయడానికి రూపొందించబడింది. ఈ ఆదేశాన్ని అమలు చేసిన తర్వాత, మీరు ఇంతకుముందు స్థితి తప్పుగా ఉన్న వాల్యూమ్లను తొలగించగలరు.
--మౌంట్ మరియు --వాల్యూమ్ ఫ్లాగ్లు
వాల్యూమ్లతో పని చేయడానికి, మీరు ఆదేశాన్ని కాల్ చేసినప్పుడు docker, మీరు తరచుగా జెండాలను ఉపయోగించాల్సి ఉంటుంది. ఉదాహరణకు, కంటైనర్ సృష్టి సమయంలో వాల్యూమ్ను సృష్టించడానికి, మీరు ఈ నిర్మాణాన్ని ఉపయోగించవచ్చు:
docker container run --mount source=my_volume, target=/container/path/for/volume my_image
పురాతన కాలంలో (2017 వరకు), జెండా ప్రజాదరణ పొందింది --volume. ప్రారంభంలో, ఈ ఫ్లాగ్ (ఇది సంక్షిప్త రూపంలో కూడా ఉపయోగించవచ్చు, అప్పుడు అది కనిపిస్తుంది -v) స్వతంత్ర కంటైనర్లు మరియు జెండా కోసం ఉపయోగించబడింది --mount - డాకర్ స్వార్మ్ వాతావరణంలో. అయితే, డాకర్ 17.06 నాటికి, ఫ్లాగ్ --mount ఏదైనా దృష్టాంతంలో ఉపయోగించవచ్చు.
జెండాను ఉపయోగించేటప్పుడు ఇది గమనించాలి --mount కమాండ్లో పేర్కొనవలసిన అదనపు డేటా మొత్తం పెరుగుతుంది, అయితే, అనేక కారణాల వల్ల, ఈ నిర్దిష్ట ఫ్లాగ్ను ఉపయోగించడం మంచిది, మరియు కాదు --volume. జెండా --mount సేవలతో పని చేయడానికి లేదా వాల్యూమ్ డ్రైవర్ ఎంపికలను పేర్కొనడానికి మిమ్మల్ని అనుమతించే ఏకైక మెకానిజం. అలాగే, ఈ జెండాతో పని చేయడం సులభం.
డాకర్ డేటా మానిప్యులేషన్ ఆదేశాల యొక్క ప్రస్తుత ఉదాహరణలలో, మీరు ఫ్లాగ్ వినియోగానికి సంబంధించిన అనేక ఉదాహరణలను చూడవచ్చు -v. మీ కోసం ఈ ఆదేశాలను స్వీకరించడానికి ప్రయత్నిస్తున్నప్పుడు, జెండాలు గుర్తుంచుకోండి --mount и --volume వివిధ పారామీటర్ ఫార్మాట్లను ఉపయోగించండి. అంటే, మీరు భర్తీ చేయలేరు -v న --mount మరియు పని చేసే బృందాన్ని పొందండి.
మధ్య ప్రధాన వ్యత్యాసం --mount и --volume అంటే జెండాను ఉపయోగిస్తున్నప్పుడు --volume అన్ని పారామితులు ఒక ఫీల్డ్లో మరియు ఉపయోగిస్తున్నప్పుడు కలిసి సేకరించబడతాయి --mount పారామితులు వేరు చేయబడ్డాయి.
తో పని చేస్తున్నప్పుడు --mount పారామితులు కీ-విలువ జంటలుగా సూచించబడతాయి, అవి ఇలా కనిపిస్తాయి key=value. ఈ జంటలు కామాలతో వేరు చేయబడ్డాయి. ఇక్కడ సాధారణంగా ఉపయోగించే ఎంపికలు ఉన్నాయి --mount:
type - మౌంట్ రకం. సంబంధిత కీ యొక్క విలువ కావచ్చు బైండ్, వాల్యూమ్ లేదా tmpfs. మేము ఇక్కడ వాల్యూమ్ల గురించి మాట్లాడుతున్నాము, అంటే విలువపై మాకు ఆసక్తి ఉంది volume.
source - మౌంట్ మూలం. పేరు పెట్టబడిన వాల్యూమ్లకు, ఇది వాల్యూమ్ పేరు. పేరులేని వాల్యూమ్ల కోసం, ఈ కీ పేర్కొనబడలేదు. దీనిని కుదించవచ్చు src.
destination - కంటైనర్లో ఫైల్ లేదా ఫోల్డర్ మౌంట్ చేయబడే మార్గం. ఈ కీని కుదించవచ్చు dst లేదా target.
readonly - ఉద్దేశించిన వాల్యూమ్ను మౌంట్ చేస్తుంది చదవడానికి మాత్రమే. ఈ కీని ఉపయోగించడం ఐచ్ఛికం మరియు దీనికి ఎటువంటి విలువ కేటాయించబడదు.
వాడుక యొక్క ఉదాహరణ ఇక్కడ ఉంది --mount అనేక ఎంపికలతో:
docker run --mount type=volume,source=volume_name,destination=/path/in/container,readonly my_image
ఫలితాలు
డాకర్ వాల్యూమ్లతో పని చేస్తున్నప్పుడు మీరు ఉపయోగించగల కొన్ని ఉపయోగకరమైన ఆదేశాలు ఇక్కడ ఉన్నాయి:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
docker volume prune
సాధారణంగా ఉపయోగించే ఎంపికల జాబితా ఇక్కడ ఉంది --mount, ఫారమ్ యొక్క ఆదేశంలో వర్తిస్తుంది docker run --mount my_options my_image:
type=volume
source=volume_name
destination=/path/in/container
readonly
ఇప్పుడు మేము ఈ డాకర్ సిరీస్ని పూర్తి చేసాము, డాకర్ నేర్చుకునేవారు తదుపరి ఎక్కడికి వెళ్లవచ్చనే దాని గురించి కొన్ని మాటలు చెప్పాల్సిన సమయం ఆసన్నమైంది. ఇక్కడ డాకర్ గురించి మంచి కథనం. ఇక్కడ డాకర్ గురించిన పుస్తకం (ఈ పుస్తకాన్ని కొనుగోలు చేసేటప్పుడు, దాని యొక్క అత్యంత ఇటీవలి ఎడిషన్ను పొందడానికి ప్రయత్నించండి). ఇక్కడ సాంకేతికతను నేర్చుకోవడానికి అభ్యాసం ఉత్తమ మార్గం అని భావించే వారికి మరొక పుస్తకం.
ప్రియమైన పాఠకులారా! ప్రారంభకులకు నేర్చుకోవడానికి మీరు ఏ డాకర్ మెటీరియల్లను సిఫార్సు చేస్తారు?