డాకర్ఫైల్ ఆదేశాలు వివరించబడ్డాయి
డాకర్ఫైల్లోని 'COPY' మరియు 'ADD' కమాండ్లు మీ కంటైనర్ ఫైల్సిస్టమ్లో ఫైల్లను పరిచయం చేయడానికి ఉపయోగపడతాయి, అయితే అవి విభిన్న కార్యాచరణలు మరియు ఉత్తమ-ఉపయోగ దృశ్యాలతో వస్తాయి. సమర్థవంతమైన డాకర్ఫైల్ నిర్వహణకు మరియు మీ కంటెయినరైజ్డ్ అప్లికేషన్లు ఊహించిన విధంగా పనితీరును నిర్ధారించుకోవడానికి ఈ తేడాలను అర్థం చేసుకోవడం చాలా అవసరం.
'కాపీ' ప్రాథమికంగా నేరుగా ఫైల్ కాపీ చేయడానికి ఉపయోగించబడుతుండగా, 'ADD' రిమోట్ URLలను నిర్వహించడం మరియు కంప్రెస్ చేయబడిన ఫైల్లను సంగ్రహించడం వంటి అదనపు సామర్థ్యాలను అందిస్తుంది. ఈ కథనం ప్రతి కమాండ్ యొక్క సూక్ష్మ నైపుణ్యాలను అన్వేషిస్తుంది, మీ డాకర్ బిల్డ్లను ఆప్టిమైజ్ చేయడానికి ఒకదానిపై ఒకటి ఎప్పుడు ఉపయోగించాలో మీకు మార్గనిర్దేశం చేస్తుంది.
| ఆదేశం | వివరణ |
|---|---|
| FROM | నిర్మించబడుతున్న డాకర్ ఇమేజ్ కోసం ఉపయోగించాల్సిన బేస్ ఇమేజ్ని పేర్కొంటుంది. |
| WORKDIR | కంటైనర్ లోపల పని డైరెక్టరీని సెట్ చేస్తుంది. |
| COPY | హోస్ట్ నుండి కంటైనర్ ఫైల్సిస్టమ్కు ఫైల్లు లేదా డైరెక్టరీలను కాపీ చేస్తుంది. |
| ADD | కంటైనర్ ఫైల్సిస్టమ్కు ఫైల్లు, డైరెక్టరీలు లేదా రిమోట్ URLలను జోడిస్తుంది మరియు ఫైల్ వెలికితీతను నిర్వహించగలదు. |
| RUN | కంటైనర్ వాతావరణంలో ఆదేశాన్ని అమలు చేస్తుంది. |
| EXPOSE | రన్టైమ్లో పేర్కొన్న నెట్వర్క్ పోర్ట్లలో కంటైనర్ వింటుందని డాకర్కు తెలియజేస్తుంది. |
డాకర్ఫైల్ ఆదేశాల యొక్క వివరణాత్మక వివరణ
మొదటి స్క్రిప్ట్ యొక్క వినియోగాన్ని ప్రదర్శిస్తుంది COPY డాకర్ఫైల్లో ఆదేశం. ది COPY సూచన సూటిగా ఉంటుంది మరియు హోస్ట్ సిస్టమ్ నుండి డాకర్ కంటైనర్ ఫైల్సిస్టమ్లోకి ఫైల్లు లేదా డైరెక్టరీలను కాపీ చేయడానికి ఉపయోగించబడుతుంది. ఈ ఉదాహరణలో, స్క్రిప్ట్ తో ప్రారంభమవుతుంది FROM కమాండ్, ఇది బేస్ ఇమేజ్ని నిర్దేశిస్తుంది python:3.8-slim-buster . ది WORKDIR కమాండ్ కంటైనర్ లోపల పని చేసే డైరెక్టరీని సెట్ చేస్తుంది /app . దీని తరువాత ది COPY కమాండ్, ఇది హోస్ట్లోని ప్రస్తుత డైరెక్టరీ యొక్క కంటెంట్లను దీనికి కాపీ చేస్తుంది /app కంటైనర్లోని డైరెక్టరీ. ఫైళ్లను కాపీ చేసిన తర్వాత, ది RUN లో పేర్కొన్న అవసరమైన పైథాన్ ప్యాకేజీలను ఇన్స్టాల్ చేయడానికి కమాండ్ ఉపయోగించబడుతుంది requirements.txt ఫైల్. చివరగా, ది EXPOSE కమాండ్ పోర్ట్ 80ని బయటి ప్రపంచానికి అందుబాటులో ఉంచుతుంది.
దీనికి విరుద్ధంగా, రెండవ స్క్రిప్ట్ వినియోగాన్ని హైలైట్ చేస్తుంది ADD డాకర్ఫైల్లో ఆదేశం. మొదటి స్క్రిప్ట్ లాగానే, ఇది మొదలవుతుంది FROM బేస్ ఇమేజ్ని సెట్ చేయమని ఆదేశం మరియు ది WORKDIR పని డైరెక్టరీని నిర్వచించడానికి ఆదేశం. ఇక్కడ ప్రధాన వ్యత్యాసం ADD కమాండ్, ఇది రిమోట్ URL నుండి ఫైల్లను జోడించడానికి ఉపయోగించబడుతుంది, ఈ సందర్భంలో, https://example.com/data/archive.tar.gz . ది ADD కమాండ్ ఫైల్లను కాపీ చేయడమే కాకుండా కంప్రెస్డ్ ఫైల్లను ఆటోమేటిక్గా ఎక్స్ట్రాక్ట్ చేసే సామర్థ్యాన్ని కలిగి ఉంటుంది, తర్వాతి ద్వారా ప్రదర్శించబడుతుంది RUN సంగ్రహించే ఆదేశం archive.tar.gz ఫైల్ లోకి /app డైరెక్టరీ. దీనిని అనుసరించి, ది RUN కమాండ్ అవసరమైన పైథాన్ ప్యాకేజీలను ఇన్స్టాల్ చేస్తుంది మరియు EXPOSE కమాండ్ పోర్ట్ 80ని అందుబాటులో ఉంచుతుంది.
డాకర్ఫైల్లో కాపీని ఉపయోగించడం
డాకర్ఫైల్ ఉదాహరణ
# Use an official Python runtime as a parent imageFROM python:3.8-slim-buster# Set the working directory in the containerWORKDIR /app# Copy the current directory contents into the container at /appCOPY . /app# Install any needed packages specified in requirements.txtRUN pip install --no-cache-dir -r requirements.txt# Make port 80 available to the world outside this containerEXPOSE 80
డాకర్ఫైల్లో ADDని ఉపయోగించడం
డాకర్ఫైల్ ఉదాహరణ
# Use an official Python runtime as a parent imageFROM python:3.8-slim-buster# Set the working directory in the containerWORKDIR /app# Add files from a remote URLADD https://example.com/data/archive.tar.gz /app/# Extract the archive fileRUN tar -xzf /app/archive.tar.gz -C /app# Install any needed packages specified in requirements.txtRUN pip install --no-cache-dir -r requirements.txt# Make port 80 available to the world outside this containerEXPOSE 80
డాకర్ఫైల్లో కాపీ మరియు ADD యొక్క లోతైన విశ్లేషణ
రెండు ఉండగా COPY మరియు ADD కమాండ్లు ఫైల్లను హోస్ట్ సిస్టమ్ నుండి కంటైనర్ ఫైల్సిస్టమ్కి కాపీ చేసే ప్రయోజనాన్ని అందిస్తాయి, అవి విభిన్నమైన లక్షణాలను కలిగి ఉంటాయి మరియు ప్రతి ఒక్కటి విభిన్న దృశ్యాలలో తగిన విధంగా ఉండే కేసులను ఉపయోగిస్తాయి. ది COPY ఆదేశం సరళమైనది మరియు మరింత ఊహించదగినది. ఆర్కైవ్లను సంగ్రహించడం లేదా రిమోట్ ఫైల్లను పొందడం వంటి అదనపు ప్రాసెసింగ్ అవసరం లేని ప్రాథమిక ఫైల్ కాపీ చేయడానికి ఇది ఉత్తమంగా ఉపయోగించబడుతుంది. ఈ ఆదేశం స్థానిక ఫైల్లు మరియు డైరెక్టరీలు మాత్రమే కంటైనర్లోకి కాపీ చేయబడతాయని నిర్ధారిస్తుంది, తద్వారా శుభ్రమైన మరియు సురక్షితమైన నిర్మాణ వాతావరణాన్ని నిర్వహిస్తుంది.
మరోవైపు, ది ADD కమాండ్ మరింత కార్యాచరణను అందిస్తుంది కానీ అదనపు సంక్లిష్టత మరియు సంభావ్య భద్రతా ప్రమాదాలతో. ది ADD కమాండ్ URL డౌన్లోడ్లను నిర్వహించగలదు మరియు కంప్రెస్ చేయబడిన ఫైల్లను స్వయంచాలకంగా సంగ్రహిస్తుంది .tar, .gzip, మరియు .bzip2. మీ బిల్డ్ ప్రాసెస్కి రిమోట్ అసెట్స్ లేదా ఇమేజ్ క్రియేషన్ సమయంలో ఎక్స్ట్రాక్ట్ చేయాల్సిన ఆర్కైవ్లు అవసరమయ్యే సందర్భాల్లో ఇది ప్రయోజనకరంగా ఉంటుంది. అయితే, ఈ అదనపు ఫీచర్లు రిమోట్ లొకేషన్ల నుండి డౌన్లోడ్ చేసేటప్పుడు ఫైల్లను అనుకోకుండా ఓవర్రైటింగ్ చేయడం మరియు భద్రతా లోపాలు వంటి రిస్క్లతో కూడి ఉంటాయి. అందువల్ల, వాటి మధ్య నిర్ణయించేటప్పుడు ఈ కారకాలను జాగ్రత్తగా పరిశీలించడం చాలా ముఖ్యం COPY మరియు ADD.
Dockerfileలో కాపీ మరియు ADD గురించి సాధారణ ప్రశ్నలు మరియు సమాధానాలు
- యొక్క ప్రాధమిక ఉపయోగం ఏమిటి COPY డాకర్ఫైల్లో కమాండ్ చేయాలా?
- ది COPY కమాండ్ ప్రధానంగా స్థానిక ఫైల్లు మరియు డైరెక్టరీలను హోస్ట్ సిస్టమ్ నుండి డాకర్ కంటైనర్లోకి కాపీ చేయడానికి ఉపయోగించబడుతుంది.
- మీరు ఎప్పుడు ఉపయోగించాలి ADD బదులుగా ఆదేశం COPY?
- మీరు ఉపయోగించాలి ADD మీరు URL నుండి ఫైల్లను కాపీ చేయవలసి వచ్చినప్పుడు లేదా బిల్డ్ ప్రాసెస్లో మీరు కంప్రెస్డ్ ఫైల్లను సంగ్రహించవలసి వచ్చినప్పుడు కమాండ్ చేయండి.
- ఉపయోగించడం వల్ల కలిగే భద్రతాపరమైన చిక్కులు ఏమిటి ADD కమాండ్?
- ది ADD కమాండ్ భద్రతా ప్రమాదాలను పరిచయం చేస్తుంది, ప్రత్యేకించి రిమోట్ URLల నుండి ఫైల్లను డౌన్లోడ్ చేస్తున్నప్పుడు, ఇది ఇప్పటికే ఉన్న ఫైల్లను ఓవర్రైట్ చేయగలదు లేదా దుర్బలత్వాలను పరిచయం చేయగలదు.
- చెయ్యవచ్చు COPY కంప్రెస్డ్ ఫైళ్లను సంగ్రహించాలా?
- లేదు, ది COPY కంప్రెస్డ్ ఫైళ్లను సంగ్రహించే సామర్థ్యాన్ని కమాండ్ కలిగి లేదు; అది వాటిని ఉన్నట్లే కాపీ చేస్తుంది.
- ఎలా చేస్తుంది ADD కంప్రెస్డ్ ఫైల్లను భిన్నంగా నిర్వహించండి COPY?
- ది ADD వంటి కంప్రెస్డ్ ఫైల్లను కమాండ్ స్వయంచాలకంగా సంగ్రహిస్తుంది .tar, .gzip, మరియు .bzip2 వారు కంటైనర్కు జోడించినప్పుడు.
- వైల్డ్కార్డ్లను ఉపయోగించడం సాధ్యమేనా COPY కమాండ్?
- అవును, మీరు దీనితో వైల్డ్కార్డ్లను ఉపయోగించవచ్చు COPY నమూనాకు సరిపోలే బహుళ ఫైల్లు లేదా డైరెక్టరీలను కాపీ చేయడానికి ఆదేశం.
- ఒక URLని అందించినట్లయితే ఏమి జరుగుతుంది ADD ఆదేశం చేరుకోలేదా?
- ఒక URL అందించినట్లయితే ADD కమాండ్ అందుబాటులో లేదు, డాకర్ బిల్డ్ ప్రాసెస్ విఫలమవుతుంది.
- సాధారణ, స్థానిక ఫైల్ కాపీ ఆపరేషన్ కోసం మీరు ఏ ఆదేశాన్ని ఉపయోగించాలి?
- సాధారణ, స్థానిక ఫైల్ కాపీ ఆపరేషన్ల కోసం, మీరు దీన్ని ఉపయోగించాలి COPY కమాండ్ మరింత సూటిగా మరియు సురక్షితంగా ఉంటుంది.
- చెయ్యవచ్చు ADD స్థానిక మరియు రిమోట్ మూలాల నుండి ఫైల్లను జోడించడానికి కమాండ్ ఉపయోగించబడుతుందా?
- అవును, ది ADD కమాండ్ స్థానిక మూలాధారాలు మరియు రిమోట్ URLలు రెండింటి నుండి ఫైల్లను జోడించగలదు, ఇది నిర్దిష్ట దృశ్యాలలో మరింత బహుముఖంగా ఉంటుంది.
డాకర్ కాపీని చుట్టడం మరియు ఆదేశాలను జోడించడం
ఎప్పుడు ఉపయోగించాలో అర్థం చేసుకోవడం COPY మరియు ADD మీ కంటైనర్ బిల్డ్లను ఆప్టిమైజ్ చేయడానికి మీ డాకర్ఫైల్ అవసరం. కాగా COPY స్థానిక ఫైల్ల కోసం సూటిగా మరియు సురక్షితంగా ఉంటుంది, ADD అదనపు సంక్లిష్టత మరియు సంభావ్య భద్రతా సమస్యల ధర వద్ద అదనపు సామర్థ్యాలను అందిస్తుంది. మీ నిర్దిష్ట అవసరాల ఆధారంగా సరైన ఆదేశాన్ని ఎంచుకోవడం మీ డాకర్ ఇమేజ్ల సామర్థ్యాన్ని మరియు భద్రతను మెరుగుపరుస్తుంది.