Ubuntu 22.04
Sponsored Link

Docker : Dockerfile का प्रयोग करें2023/09/04

 
Dockerfile का उपयोग करें और स्वचालित रूप से Docker छवियां बनाएं।
यह कॉन्फ़िगरेशन प्रबंधन के लिए भी उपयोगी है.
[1] उदाहरण के लिए, एक Dockerfile बनाएं जिसमें Apache2 स्थापित और प्रारंभ हो।
root@dlp:~#
vi Dockerfile
# नया निर्माण

FROM ubuntu
MAINTAINER ServerWorld <admin@srv.world>

RUN apt-get update
RUN apt-get -y install tzdata
RUN apt-get -y install apache2
RUN echo "Dockerfile Test on Apache2" > /var/www/html/index.html

EXPOSE 80
CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]

# छवि बनाएं ⇒ docker build -t [image name]:[tag] .

root@dlp:~#
docker build -t srv.world/ubuntu-apache2:latest ./

Sending build context to Docker daemon  27.14kB
Step 1/8 : FROM ubuntu
 ---> 2dc39ba059dc
Step 2/8 : MAINTAINER ServerWorld <admin@srv.world>
 ---> Running in de1d1b875fe0
Removing intermediate container de1d1b875fe0
 ---> e25181251546
Step 3/8 : RUN apt-get update
 ---> Running in 836063f687fc
 
.....
.....

Step 8/8 : CMD ["/usr/sbin/apachectl", "-D", "FOREGROUND"]
 ---> Running in 31d5749415a9
Removing intermediate container 31d5749415a9
 ---> b7891f747bd5
Successfully built b7891f747bd5
Successfully tagged srv.world/ubuntu-apache2:latest

root@dlp:~#
docker images

REPOSITORY                 TAG       IMAGE ID       CREATED              SIZE
srv.world/ubuntu-apache2   latest    b7891f747bd5   About a minute ago   227MB
srv.world/ubuntu-nginx     latest    51f5190bb9d9   6 minutes ago        170MB
ubuntu                     latest    2dc39ba059dc   5 days ago           77.8MB

# कंटेनर चलाएँ

root@dlp:~#
docker run -d -p 8081:80 srv.world/ubuntu-apache2

60784c2019f6fc53169367c51b4aaf75ed7fae1cdbf107bbccd95bc40c29719f
root@dlp:~#
docker ps

CONTAINER ID   IMAGE                      COMMAND                  CREATED         STATUS         PORTS                                   NAMES
60784c2019f6   srv.world/ubuntu-apache2   "/usr/sbin/apachectl…"   8 seconds ago   Up 8 seconds   0.0.0.0:8081->80/tcp, :::8081->80/tcp   nifty_pascal

# पहुंच सत्यापित करें

root@dlp:~#
curl localhost:8081

Dockerfile Test on Apache2
Dockerfile का प्रारूप [INSTRUCTION Arguments] है।
INSTRUCTION के लिए निम्नलिखित विवरण देखें।
INSTRUCTION विवरण
FROM यह बाद के निर्देशों के लिए बेस इमेज सेट करता है।
MAINTAINER यह उत्पन्न छवियों का लेखक फ़ील्ड सेट करता है।
RUN जब Docker छवि बनाई जाएगी तो यह किसी भी कमांड को निष्पादित करेगा।
CMD जब Docker कंटेनर निष्पादित किया जाएगा तो यह किसी भी कमांड को निष्पादित करेगा।
ENTRYPOINT जब Docker कंटेनर निष्पादित किया जाएगा तो यह किसी भी कमांड को निष्पादित करेगा।
LABEL यह किसी छवि में मेटाडेटा जोड़ता है।
EXPOSE यह Docker को सूचित करता है कि कंटेनर रनटाइम पर निर्दिष्ट नेटवर्क पोर्ट पर सुनेगा।
ENV यह पर्यावरण चर सेट करता है।
ADD यह नई फ़ाइलों, निर्देशिकाओं या दूरस्थ फ़ाइल URL की प्रतिलिपि बनाता है।
COPY यह नई फ़ाइलों या निर्देशिकाओं की प्रतिलिपि बनाता है।
[ADD] का अंतर यह है कि दूरस्थ URL निर्दिष्ट करना असंभव है और यह संग्रह फ़ाइलों को स्वचालित रूप से नहीं निकालेगा।
VOLUME यह निर्दिष्ट नाम के साथ एक माउंट पॉइंट बनाता है और इसे होल्डिंग के रूप में चिह्नित करता है देशी होस्ट या अन्य कंटेनरों से बाहरी रूप से माउंट किए गए वॉल्यूम।
USER यह उपयोगकर्ता नाम या UID सेट करता है।
WORKDIR यह कार्यशील निर्देशिका सेट करता है।

मिलान सामग्री