ডকার কীভাবে সংগ্রহস্থলের নাম বা চিত্রের নাম পরিবর্তন করবেন?


567

আমি চিত্রটির সংগ্রহস্থলের নাম পরিবর্তন করার চেষ্টা করছি:

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
server              latest              d583c3ac45fd        26 minutes ago      685.5 MB

তাই আমি নামটি serverএমন কিছুতে পরিবর্তন করতে চাই myname/server:

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
myname/server       latest              d583c3ac45fd        26 minutes ago      685.5 MB

কিভাবে আমি এটি করতে পারব?


5
REPOSITORY এবং TAG এর মধ্যে পার্থক্য কী?
চার্লি পার্কার 6

@ চর্লিপার্কার ট্যাগটি সাধারণত সংগ্রহস্থলের সংস্করণ হিসাবে ব্যবহার করা হয় — যেমন, 10.1 ট্যাগ সহ রেপোজিটরি মারিয়্যাডবি
ইয়ান হান্টার

ডকার ট্যাগ থেকে শিরোনামটি অনুসরণ করুন - নীচে docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
সহায়তাগুলি সেন্টিমিডি করুন

আমি ডোকরহাবের পুরো সংগ্রহস্থলের নামটি পরিবর্তন করতে চাই .. খুব খারাপ যা সম্ভব নয় :(
বিপদ 89

উত্তর:


1032
docker image tag server:latest myname/server:latest

অথবা

docker image tag d583c3ac45fd myname/server:latest

ট্যাগগুলি পুরো চিত্রের নাম ( d583c3ac45fd...) এর জন্য কেবল মানব-পঠনযোগ্য উপকরণ ।

সুতরাং আপনারা তাদের পছন্দ মতো একই চিত্রের সাথে যুক্ত থাকতে পারেন। আপনি যদি পুরানো নামটি পছন্দ না করেন তবে আপনি এটিটি আবার চালু করার পরে এটি মুছে ফেলতে পারেন:

docker rmi server

এটি কেবল সরিয়ে ফেলবে alias/tag। যেহেতু d583c3ac45fdঅন্যান্য নাম রয়েছে, আসল চিত্রটি মোছা হবে না।


এটি আমার পক্ষে কাজ করে না আমি যখন ডকার ট্যাগ মাইনেম / সার্ভার চালনা করি: সর্বশেষতম ডকার ডকার.ইও প্রিপেন্ড করতে উপযুক্ত দেখায়, তাই চিত্র ট্যাগটি শেষ হয় ডকার.আইও / মাইনেম / সারভার: স্লেস্ট।
স্কট

আপনার হোস্ট ওএস এবং ডকার সংস্করণটি কী? আমি সন্দেহ করি যে আপনার ডকার ইনস্টলেশন সম্পর্কে কিছু ট্যাগ নির্দেশকে সংশোধন করছে।
অ্যান্ডি

25
আমি আরও দেখতে পাচ্ছি যে বাদ দেওয়া :latestইমেজ নামের জন্য যদি কেবল একটি ট্যাগ ঝুঁকিপূর্ণ থাকে। তবে এটি বেশ ইডিয়োসেক্র্যাটিক যে চিত্রটির নাম REPOSITORYআউটপুটে একটি (এবং একটি চিত্র নয়) বলা হয় docker imagesযখন এটির একটি নাম কমান্ডের সাথে নামকরণ করা প্রয়োজন tagযেখানে TAGআউটপুটটির একটি পৃথক কলাম থাকে। আমি আশা করি তারা এই এবং অন্যান্য সম্পর্কিত জিনিসগুলি পরিষ্কার করে দিয়েছে ...
ম্যাটানস্টার

নোট করুন যে আপনি সম্ভবত docker image tag from_server:version to_server:versionএখানে বর্ণিত হিসাবে চান : docs.docker.com/engine/references/commandline/image_tag
যাত্রী

20

শর্টহ্যান্ড হিসাবে আপনি চালাতে পারেন:

docker tag d58 myname/server:latest

যেখানে d58এই আইএমএজি আইডির প্রথম 3 টি অক্ষর উপস্থাপন করে, এক্ষেত্রে আপনার কেবলমাত্র এটিই প্রয়োজন।

অবশেষে, আপনি নীচের মত পুরানো চিত্র মুছে ফেলতে পারেন:

docker rmi server

1
আমার ক্ষেত্রে, পুরো আইডিটি কোনওভাবে সংযোজন করা হয়: এটি শেষের দিকে সর্বশেষ এবং এটি এটি খুঁজে পায় না দাবি করে একটি ত্রুটি দেয়। প্রথম 3 টি অক্ষর আরও ভাল কাজ করে। (যেমন docker tag d583c3ac45fd myname/server:latestকাজ করে সেখানে কাজ করে না docker tag d58 myname/server:latest))
জন হ্যামিল্টন

8

সম্প্রতি আমাকে ডকার রেজিস্ট্রি (docker.mycompany.com) থেকে আর্টিফ্যাক্টরিতে (ডকার.আর্টিফ্যাক্টরি.মাইকম্পানি.কম) কিছু চিত্র স্থানান্তর করতে হয়েছিল

docker pull docker.mycompany.com/something/redis:4.0.10
docker tag docker.mycompany.com/something/redis:4.0.10 docker.artifactory.mycompany.com/something/redis:4.0.10
docker push docker.artifactory.mycompany.com/something/redis:4.0.10

6
docker tag CURRENT_IMAGE_NAME DESIRED_IMAGE_NAME

2
অবশ্যই, এটি কার্যকর হবে তবে আপনি কেন এই ব্যক্তিকে ব্যাখ্যা করেন নি। ডকার ট্যাগ কী তা নিয়ে তারা বিভ্রান্ত বলে মনে হচ্ছে ... ধরে নেওয়া তারা কীভাবে ডকার -h ব্যবহার করতে জানেন
অ্যাডাম কাপলান

1

স্বীকৃত উত্তরটি একক নামকরণের জন্য দুর্দান্ত তবে এখানে একাধিক চিত্রের পুনরায় নামকরণের একটি উপায় যা একই সংগ্রহস্থল একই সাথে রয়েছে (এবং পুরানো চিত্রগুলি সরিয়ে ফেলুন)।

আপনার যদি ফর্মের পুরানো চিত্র থাকে:

$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
old_name/image_name_1    latest              abcdefghijk1        5 minutes ago      1.00GB
old_name/image_name_2    latest              abcdefghijk2        5 minutes ago      1.00GB

এবং আপনি চান:

new_name/image_name_1
new_name/image_name_2

তারপর আপনি এই (ইন subbing ব্যবহার করতে পারেন OLD_REPONAME, NEW_REPONAMEএবং TAGযথাযথ হিসাবে):

OLD_REPONAME='old_name'
NEW_REPONAME='new_name'
TAG='latest'

# extract image name, e.g. "old_name/image_name_1"
for image in $(docker images | awk '{ if( FNR>1 ) { print $1 } }' | grep $OLD_REPONAME)
do \
  OLD_NAME="${image}:${TAG}" && \
  NEW_NAME="${NEW_REPONAME}${image:${#OLD_REPONAME}:${#image}}:${TAG}" && \
  docker image tag $OLD_NAME $NEW_NAME && \
  docker rmi $image:${TAG}  # omit this line if you want to keep the old image
done


-7

ডকার রান-ইট - নাম NEW_NAME বিদ্যমান_নাম

বিদ্যমান চিত্রের নাম পরিবর্তন করতে।


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