অ্যান্ড্রয়েড

উদাহরণ সহ ডকার রান কমান্ড

তুমি সুজন কান্ডারী নৌকা | Tumi Sujon Kandari | Nouka Ankon | Folk Song | Channel i | IAV

তুমি সুজন কান্ডারী নৌকা | Tumi Sujon Kandari | Nouka Ankon | Folk Song | Channel i | IAV

সুচিপত্র:

Anonim

ডকার এমন একটি প্ল্যাটফর্ম যা আপনাকে কার্যত যে কোনও জায়গায় চলতে পারে এমন পোর্টেবল, স্বনির্ভর পাত্রে হিসাবে অ্যাপ্লিকেশনগুলি বিকাশ, পরীক্ষা করতে এবং স্থাপন করতে দেয়।

docker run কমান্ড একটি প্রদত্ত চিত্র থেকে একটি ধারক তৈরি করে এবং প্রদত্ত কমান্ড ব্যবহার করে docker run শুরু করে। ডকারের সাথে কাজ শুরু করার সাথে সাথে আপনার পরিচিত হওয়া উচিত এমন প্রথম আদেশগুলির মধ্যে একটি।, আমরা ডকার কনটেইনার চালনার বিভিন্ন উপায় দেখানোর জন্য অফিসিয়াল এনগিনেক্স চিত্রটি ব্যবহার করব।

ডকার রান কমান্ড

docker run কমান্ড নিম্নলিখিত ফর্মটি গ্রহণ করে:

docker run IMAGE

যে চিত্র থেকে কনটেইনারটি তৈরি করা উচিত তার নাম docker run কমান্ডের একমাত্র প্রয়োজনীয় যুক্তি। চিত্রটি স্থানীয় সিস্টেমে উপস্থিত না থাকলে এটি রেজিস্ট্রি থেকে টানা হয়।

যদি কোনও কমান্ড নির্দিষ্ট না করা থাকে, তবে ডকফাইফিলের CMD বা ENTRYPOINT নির্দেশিকায় সুনির্দিষ্ট কমান্ডটি ধারক চালানোর সময় কার্যকর করা হয়।

সংস্করণ ১.১৩ থেকে শুরু করে, ডকার সিএলআই পুনর্গঠন করা হয়েছে এবং সমস্ত কমান্ডগুলি যে বস্তুটির সাথে তারা ইন্টারঅ্যাক্ট করছে তার অধীনে দলবদ্ধ করা হয়েছে।

যেহেতু run কমান্ডটি ধারকগুলির সাথে ইন্টারঅ্যাক্ট করে, এখন এটি docker container । নতুন কমান্ডের বাক্য গঠনটি নিম্নরূপ:

docker container run IMAGE

পুরানো, প্রাক 1.13 সিনট্যাক্স এখনও সমর্থিত। ফণা অধীনে, docker run কমান্ড হ'ল একটি উপন্যাস থেকে docker container run । ব্যবহারকারীদের নতুন কমান্ড সিনট্যাক্স ব্যবহার করতে উত্সাহ দেওয়া হচ্ছে।

সমস্ত docker container run বিকল্পগুলির একটি তালিকা ডকার ডকুমেন্টেশন পৃষ্ঠায় পাওয়া যাবে।

অগ্রভাগে ধারক চালান

ডিফল্টরূপে, যখন docker run কমান্ডে কোনও বিকল্প সরবরাহ করা হয় না, মূল প্রক্রিয়াটি অগ্রভাগে শুরু হয়। এর অর্থ হ'ল মান প্রক্রিয়া থেকে স্ট্যান্ডার্ড ইনপুট, আউটপুট এবং ত্রুটি টার্মিনাল সেশনে সংযুক্ত।

docker container run nginx

Nginx প্রক্রিয়াটির আউটপুট আপনার টার্মিনালে প্রদর্শিত হবে। যেহেতু ওয়েবসারভারের সাথে কোনও সংযোগ নেই, টার্মিনালটি খালি।

ধারকটি থামাতে, চলমান এনগিনেক্স প্রক্রিয়াটি CTRL+C টিপে শেষ করুন।

বিচ্ছিন্ন মোডে ধারক চালান

টার্মিনাল সেশন থেকে বেরিয়ে যাওয়ার সময় ধারকটি চলমান রাখতে, এটি একটি বিচ্ছিন্ন মোডে শুরু করুন। এটি পটভূমিতে লিনাক্স প্রক্রিয়া চালানোর অনুরূপ।

বিচ্ছিন্ন ধারক শুরু করতে -d বিকল্পটি ব্যবহার করুন:

docker container run -d nginx

050e72d8567a3ec1e66370350b0069ab5219614f9701f63fcf02e8c8689f04fa

রুট প্রক্রিয়াটি সমাপ্ত হলে বিচ্ছিন্ন ধারকটি থামবে।

আপনি docker container ls কমান্ডটি ব্যবহার করে চলমান পাত্রে docker container ls করতে পারেন।

আপনার টার্মিনালটিকে বিচ্ছিন্ন ধারক রুট প্রক্রিয়াতে docker container attach করতে docker container attach কমান্ডটি ব্যবহার করুন।

প্রস্থানের পরে পাত্রে সরান

ডিফল্টরূপে, যখন ধারকটি প্রস্থান করে, এর ফাইল সিস্টেম হোস্ট সিস্টেমে স্থির থাকে।

--rm বিকল্পগুলি --rm docker run কমান্ডকে কনটেইনারটি স্বয়ংক্রিয়ভাবে প্রস্থান করার পরে অপসারণ করতে বলে:

docker container run --rm nginx

ধারকটি বেরিয়ে যাওয়ার পরে ধারকটির ফাইল সিস্টেম পরিষ্কার করার জন্য এনগিনেক্স চিত্রটি সেরা উদাহরণ হতে পারে না। এই বিকল্পটি সাধারণত অগ্রগণ্য পাত্রে ব্যবহৃত হয় যা পরীক্ষাগুলি বা ডাটাবেস ব্যাকআপের মতো স্বল্প-মেয়াদী কার্য সম্পাদন করে।

ধারকটির নাম সেট করুন

ডকারে, প্রতিটি ধারক তার UUID এবং নাম দ্বারা চিহ্নিত করা হয়। ডিফল্টরূপে, যদি সুস্পষ্টভাবে সেট না করা থাকে তবে কনটেইনারটির নাম ডকার ডিমন দ্বারা স্বয়ংক্রিয়ভাবে উত্পন্ন হয়।

--name একটি কাস্টম নাম নির্ধারণ করতে --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 চালান, এবং তাদের নামগুলি দেখুন:

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

অর্থবহ নামগুলি ডকার নেটওয়ার্কের মধ্যে বা ডকার সিএলআই কমান্ড চলাকালীন ধারকটিকে উল্লেখ করতে কার্যকর to

কনটেইনার পোর্ট প্রকাশনা

ডিফল্টরূপে, যদি কোনও বন্দর প্রকাশিত না হয় তবে ধারকটিতে চলমান প্রক্রিয়াটি কেবলমাত্র ধারকটির ভিতরে থেকেই অ্যাক্সেসযোগ্য।

বন্দরগুলি প্রকাশের অর্থ হোস্ট মেশিন পোর্টগুলিতে কনটেইনার পোর্টগুলি ম্যাপিং করা যাতে পোর্টগুলি ডকারের বাইরের পরিষেবাগুলিতে উপলব্ধ থাকে।

কোনও বন্দর প্রকাশের জন্য নীচে -p বিকল্পগুলি ব্যবহার করুন:

-p host_ip:host_port:container_port/protocol

  • যদি কোনও host_ip নির্দিষ্ট না করা থাকে তবে এটি 0.0.0.0 ডিফল্ট হয় no যদি কোনও protocol নির্দিষ্ট না protocol হয় তবে এটি টিসিপিতে ডিফল্ট হয় multiple

হোস্ট লোকালহোস্ট ইন্টারফেসে 8080 পোর্টে কনটেইনারটিতে টিসিপি পোর্ট 80 (এনগিনেক্স) ম্যাপ করতে, আপনি দৌড়াবেন:

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 বিকল্পগুলি ব্যবহার করুন:

-v host_src:container_dest:options

  • host_src হোস্টের একটি ফাইল বা ডিরেক্টরি বা একটি host_src একটি নিখুঁত পাথ হতে পারে host_src )। যদি কোনও বিকল্প নির্দিষ্ট না করা থাকে তবে এটি rw ডিফল্ট হয়।

এটি কীভাবে কাজ করে তা ব্যাখ্যা করতে, আসুন হোস্টে একটি ডিরেক্টরি তৈরি করুন এবং এটিতে একটি index.html ফাইল রাখি:

mkdir public_html echo "Testing Docker Volumes" > public_html/index.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 মতো ইন্টারেক্টিভ প্রক্রিয়াগুলির সাথে ডিল করার সময়, -t শুরু করতে -i এবং -t বিকল্পগুলি ব্যবহার করুন।

-it বিকল্পগুলি ডকারকে স্ট্যান্ডার্ডের সাথে স্ট্যান্ডার্ড ইনপুট সংযুক্ত রাখতে এবং একটি সিডো-টিটি বরাদ্দ করতে বলে:

docker container run -it nginx /bin/bash

ধারকটির বাশ শেলটি টার্মিনালের সাথে সংযুক্ত হবে এবং কমান্ড প্রম্পটটি পরিবর্তিত হবে:

root@1da70f1937f5:/#

এখন, আপনি ধারকটির শেলের সাথে ইন্টারঅ্যাক্ট করতে পারেন এবং এর ভিতরে কোনও কমান্ড চালাতে পারেন।

এই উদাহরণস্বরূপ, আমরা ডকরাফিলের মধ্যে উল্লিখিত আদেশের পরিবর্তে কার্যকর করা docker run কমান্ডের আর্গুমেন্ট হিসাবে একটি কমান্ড ( /bin/bash ) সরবরাহ করেছি।

উপসংহার

অ্যাপ্লিকেশন প্যাকেজিং এবং মোতায়েনের জন্য স্ট্যান্ডার্ড এবং সিআই / সিডি, অটোমেশন এবং ডিওঅ্যাপসের একটি প্রয়োজনীয় উপাদান D

docker container run কমান্ড docker container run তৈরি এবং চালাতে ব্যবহৃত হয়।

ডকশ্রমিক