انڈروئد

مثال کے ساتھ ڈوکر رن کمانڈ

سوا - غابة المعمورة تواجه خطر الاندثار

سوا - غابة المعمورة تواجه خطر الاندثار

فہرست کا خانہ:

Anonim

ڈوکر ایک ایسا پلیٹ فارم ہے جو آپ کو پورٹیبل ، خود کفیل کنٹینر کے طور پر ایپلیکیشنز کی تیاری ، جانچ ، اور تعینات کرنے کی اجازت دیتا ہے جو عملی طور پر کہیں بھی چلتا ہے۔

docker run کمانڈ ایک دی گئی شبیہہ سے کنٹینر بناتا ہے اور دیئے ہوئے کمانڈ کا استعمال کرکے کنٹینر شروع کرتا ہے۔ یہ پہلی کمانڈوں میں سے ایک ہے جسے آپ ڈوکر کے ساتھ کام کرنا شروع کرتے وقت واقف ہونا چاہئے۔

، ہم ڈاکر کنٹینر چلانے کے مختلف طریقوں کو ظاہر کرنے کے لئے سرکاری Nginx تصویر کا استعمال کریں گے۔

ڈوکر رن کمانڈ

docker run کمانڈ مندرجہ ذیل شکل اختیار کرتی ہے۔

docker run IMAGE

اس تصویر کا نام جس میں سے کنٹینر بنانا چاہئے ، اس میں docker run کمانڈ کی واحد مطلوبہ دلیل ہے۔ اگر یہ تصویر مقامی نظام پر موجود نہیں ہے تو ، اسے رجسٹری سے کھینچ لیا جاتا ہے۔

اگر کوئی کمانڈ متعین نہیں ہوتا ہے تو ، کنٹینر چلاتے وقت ڈاک فائل کے CMD یا ENTRYPOINT ہدایات میں بیان کردہ کمانڈ عمل میں ENTRYPOINT جاتی ہے۔

ورژن 1.13 سے شروع کرتے ہوئے ، ڈوکر سی ایل آئی کی تنظیم نو کی گئی ہے ، اور تمام احکامات کو اس اعتراض کے تحت گروپ کیا گیا ہے جس کے ساتھ وہ بات چیت کررہے ہیں۔

چونکہ run کمانڈ کنٹینرز کے ساتھ بات چیت کرتی ہے ، اب یہ docker container ذیلی کامانڈ ہے۔ نئی کمانڈ کا نحو ذیل میں ہے۔

docker container run IMAGE

پرانا ، قبل از 1.13 ترکیب اب بھی تعاون یافتہ ہے۔ ڈاکو کے نیچے ، docker run کمانڈ ایک عرف سے docker container run ۔ صارفین کو نیا کمانڈ ترکیب استعمال کرنے کی ترغیب دی جاتی ہے۔

docker container run کے تمام اختیارات کی فہرست ڈوکر دستاویزات کے صفحے پر مل سکتی ہے۔

پیش منظر میں کنٹینر چلائیں

پہلے سے طے شدہ طور پر ، جب docker run کمانڈ کو کوئی آپشن فراہم نہیں کیا جاتا ہے ، تو جڑ کا عمل پیش منظر میں شروع ہوتا ہے۔ اس کا مطلب یہ ہے کہ جڑ کے عمل سے معیاری ان پٹ ، آؤٹ پٹ اور غلطی ٹرمینل سیشن کے ساتھ منسلک ہے۔

docker container run nginx

نینگس پروسیس کی آؤٹ پٹ آپ کے ٹرمینل پر آویزاں ہوگی۔ چونکہ ، ویب سرور سے کوئی رابطہ نہیں ہے ، ٹرمینل خالی ہے۔

کنٹینر کو روکنے کے لئے ، CTRL+C دبانے سے چل رہا Nginx عمل ختم کریں۔

کنٹینر کو علیحدہ حالت میں چلائیں

جب آپ ٹرمینل سیشن سے باہر نکلتے ہیں تو کنٹینر کو چلانے کے ل it ، اسے علیحدہ حالت میں شروع کریں۔ یہ پس منظر میں لینکس کے عمل کو چلانے کے مترادف ہے۔

علیحدہ کنٹینر شروع کرنے کے لئے -d آپشن کا استعمال کریں:

docker container run -d nginx

050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa

جڑ کا عمل ختم ہونے پر علیحدہ کنٹینر رک جائے گا۔

آپ docker container ls کمانڈ استعمال کرتے ہوئے چلنے والے کنٹینروں کی فہرست دے سکتے ہیں۔

اپنے ٹرمینل کو الگ کنٹینر روٹ پروسیس سے docker container attach لئے ، docker container attach کمانڈ استعمال کریں۔

باہر نکلنے کے بعد کنٹینر کو ہٹا دیں

پہلے سے طے شدہ طور پر ، جب کنٹینر سے باہر آجاتا ہے ، تو اس کا فائل سسٹم میزبان سسٹم پر قائم رہتا ہے۔

--rm آپشنز --rm docker run کمانڈ کو بتاتا ہے جب کنٹینر خود بخود خارج ہوجائے:

docker container run --rm nginx

کنٹینر کے باہر نکلنے کے بعد کنٹینر کے فائل سسٹم کو صاف کرنے کے لئے نینگینکس امیج بہترین مثال نہیں ہوسکتی ہے۔ یہ آپشن عام طور پر پیش منظر والے کنٹینر پر استعمال ہوتا ہے جو مختصر مدت کے کام انجام دیتے ہیں جیسے ٹیسٹ یا ڈیٹا بیس کے بیک اپ۔

کنٹینر کا نام مقرر کریں

ڈوکر میں ، ہر کنٹینر کی شناخت اس کے UUID اور نام سے ہوتی ہے۔ پہلے سے طے شدہ طور پر ، اگر واضح طور پر سیٹ نہیں کیا گیا تو ، کنٹینر کا نام ڈوکر ڈیمون کے ذریعہ خود بخود تیار ہوتا ہے۔

کنٹینر کو کسٹم نام تفویض کرنے کے لئے --name آپشن کا استعمال کریں:

docker container run -d --name my_nginx nginx

کنٹینر کا نام لازمی ہونا چاہئے۔ اگر آپ اسی نام سے دوسرا کنٹینر شروع کرنے کی کوشش کرتے ہیں تو ، آپ کو اس سے ملتی جلتی غلطی ہوگی:

docker: Error response from daemon: Conflict. The container name "/my_nginx" is already in use by container "9…c". You have to remove (or rename) that container to be able to reuse that name.

تمام کنٹینرز کی فہرست کے docker container ls -a to docker container ls -a چلائیں ، اور ان کے نام دیکھیں:

docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9d695c1f5ef4 nginx "nginx -g 'daemon of…" 36 seconds ago Up 35 seconds 80/tcp my_nginx

معنی خیز نام ڈوکر نیٹ ورک کے اندر موجود کنٹینر کا حوالہ کرنے کے ل or یا جب ڈوکر سی ایل آئی کمانڈ چلاتے ہیں تو مفید ہیں۔

کنٹینر بندرگاہوں کی اشاعت

پہلے سے طے شدہ طور پر ، اگر بندرگاہوں کو شائع نہیں کیا جاتا ہے ، تو کنٹینر میں چلنے والا عمل صرف کنٹینر کے اندر سے قابل رسا ہوتا ہے۔

بندرگاہوں کی اشاعت کا مطلب ہے کنٹینر بندرگاہوں کو میزبان مشین بندرگاہوں میں نقشہ سازی کرنا ہے تاکہ بندرگاہیں ڈوکر سے باہر کی خدمات کے لئے دستیاب ہوں۔

کسی بندرگاہ کو شائع کرنے کے لئے مندرجہ ذیل اختیارات کے اختیارات کا استعمال -p :

-p host_ip:host_port:container_port/protocol

  • اگر کوئی host_ip متعین نہیں host_ip جاتا ہے تو ، یہ ڈیفالٹ 0.0.0.0 .اگر کوئی protocol مخصوص نہیں ہوتا ہے تو ، یہ ٹی سی پی سے پہلے سے طے شدہ ہے۔

کنٹینر میں ٹی سی پی پورٹ 80 (nginx) کو میزبان لوکلہوسٹ انٹرفیس پر 8080 کو پورٹ بنانے کے لئے ، آپ چلائیں گے:

docker container run --name web_server -d -p 8080:80 nginx

آپ اس بات کی تصدیق کر سکتے ہیں کہ بندرگاہ اپنے براؤزر میں http://localhost:8080 کھول کر یا ڈوکر میزبان پر درج ذیل curl کمانڈ چلا کر شائع کیا گیا ہے۔

curl -I

آؤٹ پٹ کچھ اس طرح نظر آئے گی:

HTTP/1.1 200 OK Server: nginx/1.17.6 Date: Tue, 26 Nov 2019 22:55:59 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 19 Nov 2019 12:50:08 GMT Connection: keep-alive ETag: "5dd3e500-264" Accept-Ranges: bytes

شیئرنگ ڈیٹا (بڑھتے ہوئے جلدیں)

جب کسی کنٹینر کو روکا جاتا ہے ، تو کنٹینر کے ذریعہ تیار کردہ تمام ڈیٹا کو ہٹا دیا جاتا ہے۔ ڈیکر کو برقرار رکھنے اور متعدد کنٹینرز پر اس کا اشتراک کرنے کا ایک پسندیدہ ترجیحی طریقہ ہے۔

جلدیں بنانے اور -p لئے ، درج ذیل کے مطابق -p اختیارات استعمال کریں۔

-v host_src:container_dest:options

  • host_src میزبان یا نامزد حجم پر فائل یا ڈائریکٹری کا مطلق راستہ ہوسکتا ہے۔). اگر کوئی آپشن متعین نہیں کیا جاتا ہے تو ، یہ rw پہلے سے طے شدہ ہے۔

یہ کیسے کام کرتا ہے اس کی وضاحت کے لئے ، آئیے میزبان پر ایک ڈائرکٹری بنائیں اور اس میں ایک index.html فائل ڈالیں:

mkdir public_html echo "Testing Docker Volumes" > public_html/index.html

اگلا ، کنٹینر میں /usr/share/nginx/html میں public_html ڈائرکٹری کو ماؤنٹ /usr/share/nginx/html :

docker run --name web_server -d -p 8080:80 -v $(pwd)/public_html:/usr/share/nginx/html nginx

public_html ڈائرکٹری کا مطلق راستہ بتانے کے بجائے ، ہم working $(pwd) کمانڈ استعمال کر رہے ہیں ، جو موجودہ ورکنگ ڈائرکٹری کو پرنٹ کرتا ہے۔

اب ، اگر آپ اپنے براؤزر میں http://localhost:8080 ٹائپ کرتے ہیں تو ، آپ کو index.html فائل کے مندرجات کو دیکھنا چاہئے۔ آپ curl بھی استعمال کرسکتے ہیں۔

curl

Testing Docker Volumes

کنٹینر کو انٹرایکٹو چلائیں

جب انٹرایکٹو عمل جیسے bash سے نمٹنے کے bash ، ، کنٹینر شروع کرنے کے لئے -i اور -t اختیارات استعمال کریں۔

-it آپشن ڈوکر کو کہتے ہیں کہ وہ معیاری ان پٹ کو ٹرمینل کے ساتھ منسلک رکھیں اور چھدم ٹیٹی مختص کریں:

docker container run -it nginx /bin/bash

کنٹینر کا بیش شیل ٹرمینل کے ساتھ منسلک ہوگا ، اور کمانڈ پرامپٹ تبدیل ہوجائے گا:

root@1da70f1937f5:/#

اب ، آپ کنٹینر کے خول کے ساتھ بات چیت کرسکتے ہیں اور اس کے اندر کوئی کمانڈ چلا سکتے ہیں۔

اس مثال میں ، ہم نے ڈوکر docker run کمانڈ کی دلیل کے طور پر ایک کمانڈ ( /bin/bash باز) فراہم کی تھی جو ڈاکفائل میں متعین ایک کی بجائے عملدرآمد کی گئی تھی۔

نتیجہ اخذ کرنا

ڈوکر پیکیجنگ اور تعیناتی ایپلی کیشنز کے لئے ایک معیار ہے اور CI / CD ، آٹومیشن ، اور ڈی او اوپس کا ایک لازمی جز ہے۔

docker container run کمانڈ docker container run بنانے اور چلانے کے لئے استعمال کیا جاتا ہے۔

گودی