ধারকের নাম থেকে ডকারের ধারক আইডি পান


117

ধারকের নাম থেকে ডকার কনটেইনার আইডি পাওয়ার আদেশ কী?


4
আমি এখনই চেষ্টা করছি, অনলাইনে কোনও নমুনা খুঁজে পাইনি। ভোট দেওয়ার জন্য ধন্যবাদ, আমি সুখী মানুষ পছন্দ করি।
দিমিত্রি কোপ্রিভা

আপনার জিজ্ঞাসা করতে হবে এবং একটি নূন্যতম পুনরুত্পাদনযোগ্য উদাহরণ প্রদান করা উচিত । কীভাবে docker --listবা মত অনুরূপ বর্ণন? নতুন ধারক তৈরি করার আদেশ কী? ইত্যাদি
ফেডরকিই 'এসও ক্ষতিগ্রস্থ হওয়া বন্ধ করুন'

4
আমি মনে করি আমার প্রশ্নটি বেশ পরিষ্কার, দয়া করে ভোট দিন আমি উত্তরটি যথাযথভাবে দেব।
দিমিত্রি কোপ্রিভা

4
"কন্টেইনারে" এমন কোনও জিনিস নেই যা আমি বাশ সম্পর্কে জানি। সম্ভবত আপনি ডকার পাত্রে বোঝাতে চান ? যদি তা হয় তবে "ব্যাশ" ট্যাগটি দেখার লোকেরা বিভ্রান্ত হতে পারে। তবে আপনি নাম থেকে ধারক আইডি পান, আমি নিশ্চিত যে এটি একটি আসল কমান্ড এবং বাশ প্রোগ্রামিং ভাষার সাথে কিছু করার নেই।
djhaskin987

উত্তর:


206

লিনাক্সে:

sudo docker ps -aqf "name=containername"

বা ওএস এক্স, উইন্ডোজ:

docker ps -aqf "name=containername"

কোথায় containernameআপনার ধারক নাম

মিথ্যা ধনাত্মকতা এড়াতে, @ লিলিয়া সিডোরেনকো নোট হিসাবে, আপনি রেজিেক্স অ্যাঙ্কারগুলি এর মতো ব্যবহার করতে পারেন:

docker ps -aqf "name=^containername$"

ব্যাখ্যা:

  • -qশান্ত জন্য। আউটপুট কেবল আইডি
  • -aসবার জন্য. আপনার ধারকটি চলমান না থাকলেও কাজ করে
  • -fফিল্টার জন্য ।
  • ^ধারক নামটি অবশ্যই এই স্ট্রিং দিয়ে শুরু করা উচিত
  • $ধারকটির নাম অবশ্যই এই স্ট্রিংয়ের সাথে শেষ হবে

7
যে কেউ এই বিষয়ে হোঁচট খায় তার কাছে একটি নোট: আপনি যদি ডকার গ্রুপে নিজেকে যুক্ত করেন তবে সুপারিশের প্রয়োজন নেই (উচ্চ প্রস্তাবিত)
কোড_মঙ্ক

9
দয়া করে এই উত্তরের সাথে সতর্ক থাকুন, কারণ নাম = ধারক প্রকৃতপক্ষে একটি ওয়াইল্ডকার্ড এবং এটি নামের সাথে কোনও কিছু মিলবে (। *) কনটেইনারনেম (। *)
ইলিয়া সিডোরেনকো

4
@ ইক্কিরা --no-truncপতাকা ব্যবহার করে । সুতরাংdocker ps --no-trunc -aqf "name=containername"
কোড_মঙ্ক

4
2019-01-07 পর্যন্ত, এটি আমার পক্ষে কার্যকর হয়নি। আমি ডকার v17.06.0 ব্যবহার করছি। কমান্ডটি docker inspect --format="{{.Id}}" imageNameআমার পক্ষে কাজ করেছিল।
প্যাটস

4
@ কোড_মনক, নিশ্চিতকরণের জন্য ধন্যবাদ আমি রোজবার্গ লিনহারেস উত্তরে একটি মন্তব্য যুক্ত করেছি যা এখান থেকেই আমার ধারণা পেয়েছে এবং তার উত্তরটি সঠিক উত্তরে পরিবর্তিত করার পরামর্শ দিয়েছে।
প্যাটস

40

আপনি এটি চেষ্টা করতে পারেন:

docker inspect --format="{{.Id}}" container_name

এই পদ্ধতির ওএস স্বাধীন।


4
এটি চিত্রের আইডি না কনটেনার আইডি ফেরত দেয়
বিজয়

4
@ অজয়াই, আমার জন্য এটি কনটেইনার আইডি দেয়: https://i.ibb.co/BPwyxDj/Docker-Container-Id.png
রোসবার্গ লিনহারেস

এটি আমাকে ধারক আইডিও দেয়। পুরো কনটেইনার আইডি, কেবল প্রথম 12 টি অক্ষর কেটে দেওয়া হয়নি।
কাপলিনেটর

এটা ভালোবাস! ধন্যবাদ 👍
গলিজেয়ার

@vijay @ রসবারলিনহারেস যদি আপনি ধারকটির নাম সরবরাহ করেন ( NAMESকলামে দেওয়া আছে docker ps) তবে এটি ধারক আইডি দেয়। যদি চিত্রটির নাম ( IMAGEকলামে দেওয়া থাকে docker ps) এর পরিবর্তে সরবরাহ করা হয় তবে এটি চিত্রের আইডির পরিবর্তে আউটপুট দেয়।
ওল্ফসন

13
  1. চালিত পাত্রে আইডি পান ::

    $docker ps -qf "name=IMAGE_NAME"
    
        -f: Filter output based on conditions provided
        -q: Only display numeric container IDs
    
  2. সমস্ত ধারকগুলির ধারক আইডি পান:

    $docker ps -aqf "name=IMAGE_NAME"
    
        -a: all containers
    

4
docker ps -fq তবে কাজ docker ps -qfকরেনি (পতাকাগুলির অর্ডার)
thom_nic

5

নিম্নলিখিত আদেশ:

docker ps --format 'CONTAINER ID : {{.ID}} | Name: {{.Names}} | Image:  {{.Image}} |  Ports: {{.Ports}}'

এই আউটপুট দেয়:

CONTAINER ID : d8453812a556 | Name: peer0.ORG2.ac.ae | Image:  hyperledger/fabric-peer:1.4 |  Ports: 0.0.0.0:27051->7051/tcp, 0.0.0.0:27053->7053/tcp
CONTAINER ID : d11bdaf8e7a0 | Name: peer0.ORG1.ac.ae | Image:  hyperledger/fabric-peer:1.4 |  Ports: 0.0.0.0:17051->7051/tcp, 0.0.0.0:17053->7053/tcp
CONTAINER ID : b521f48a3cf4 | Name: couchdb1 | Image:  hyperledger/fabric-couchdb:0.4.15 |  Ports: 4369/tcp, 9100/tcp, 0.0.0.0:5985->5984/tcp
CONTAINER ID : 14436927aff7 | Name: ca.ORG1.ac.ae | Image:  hyperledger/fabric-ca:1.4 |  Ports: 0.0.0.0:7054->7054/tcp
CONTAINER ID : 9958e9f860cb | Name: couchdb | Image:  hyperledger/fabric-couchdb:0.4.15 |  Ports: 4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp
CONTAINER ID : 107466b8b1cd | Name: ca.ORG2.ac.ae | Image:  hyperledger/fabric-ca:1.4 |  Ports: 0.0.0.0:7055->7054/tcp
CONTAINER ID : 882aa0101af2 | Name: orderer1.o1.ac.ae | Image:  hyperledger/fabric-orderer:1.4 |  Ports: 0.0.0.0:7050->7050/tcp`enter code here`

3

আপনি যদি কনটেইনার নামের উপর ভিত্তি করে সম্পূর্ণ কনটেইনারআইডি পেতে চান তবে নিম্নলিখিত কমান্ডটি ব্যবহার করুন

 docker ps --no-trunc -aqf name=containername

0

ডকার চিত্র ইমেজনাম insp ইমেজআইডি - ফর্ম্যাট = {{'পরিদর্শন করে Con


আপনার উত্তরের একটি ব্যাখ্যা যোগ করুন। যেসব উত্তরসমূহ কেবলমাত্র কোড (বা কেবলমাত্র এই ক্ষেত্রে কমান্ডে থাকে) সেই নতুন ব্যবহারকারীদের পক্ষে সহায়ক নয় যারা সম্ভবত আদেশ বা কোডটি আসলে কী তা বুঝতে পারে না। কেন এটি খারাপ তা সম্পর্কে কার্গো কাল্ট প্রোগ্রামিং সন্ধান করুন।
ম্যাক্স ভোলার

0

আমার ক্ষেত্রে আমি উবুন্টু ২০.০৪-তে টেনসরফ্লো ডকার ধারক চালাচ্ছি: আপনার ডকারের ধারকটিকে একটি টার্মিনালে চালান, আমি এটি দিয়ে চালিয়েছিলাম

docker run -it od

এবং তারপরে আর একটি টার্মিনাল শুরু করে নীচে ছুটে docker psগেলো সুডোর সাথে:

sudo docker ps

আমি সফলভাবে ধারক আইডি পেয়েছি:

CONTAINER ID        IMAGE               COMMAND             CREATED             
STATUS              PORTS               NAMES
e4ca1ad20b84        od                  "/bin/bash"         18 minutes ago      
Up 18 minutes                           unruffled_stonebraker

-2

সবচেয়ে সহজ উপায় আমি ভাবতে পারি এর আউটপুট পার্স করা docker ps

আসুন সাম্প্রতিকতম উবুন্টু চিত্রটি ইন্টারেক্টিভভাবে চালানো যাক এবং এর সাথে সংযুক্ত থাকি

docker run -it ubuntu /bin/bash

আপনি যদি docker psঅন্য টার্মিনালে চালনা করেন তবে দেখতে পাবেন এরকম কিছু

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
8fddbcbb101c        ubuntu:latest       "/bin/bash"         10 minutes ago      Up 10 minutes                           gloomy_pasteur

দুর্ভাগ্যক্রমে, এই ফর্ম্যাটটি পার্স করা সহজ নয় কারণ তারা ম্যানুয়ালি স্টাফগুলি সারিবদ্ধ করার জন্য স্পেস ব্যবহার করে

$ sudo docker ps | sed -e 's/ /@/g'
CONTAINER@ID@@@@@@@@IMAGE@@@@@@@@@@@@@@@COMMAND@@@@@@@@@@@@@CREATED@@@@@@@@@@@@@STATUS@@@@@@@@@@@@@@PORTS@@@@@@@@@@@@@@@NAMES
8fddbcbb101c@@@@@@@@ubuntu:latest@@@@@@@"/bin/bash"@@@@@@@@@13@minutes@ago@@@@@@Up@13@minutes@@@@@@@@@@@@@@@@@@@@@@@@@@@gloomy_pasteur@@@@@@

এখানে একটি স্ক্রিপ্ট যা আউটপুটটিকে JSON এ রূপান্তর করে।

https://gist.github.com/mminer/a08566f13ef687c17b39

আসলে, এর চেয়ে আউটপুটটি কাজ করতে কিছুটা সুবিধাজনক। প্রতিটি ক্ষেত্র 20 টি অক্ষর প্রশস্ত। [['CONTAINER ID',0],['IMAGE',20],['COMMAND',40],['CREATED',60],['STATUS',80],['PORTS',100],['NAMES',120]]

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.