گنو/لینوکس

tag ؛ push ؛ pull کردن ایمیج در Docker

نوشته شده توسط اروند طباطبایی

در این قسمت میخواهیم ایمیج docker-whale خود را که ساخته‌ایم تگ کرده و به مخزنی که در قسمت قبلی آموزش‌های داکر ساختیم push کنیم. وقتی کار تمام شد ایمیج خود را با pull کردن از مخزن تست خواهیم کرد.

قدم اول : tag و push کردن ایمیج

– به ترمینال بروید

– ایمیج هایی را که دارید لیست کنید :

$ docker images
REPOSITORY           TAG          IMAGE ID            CREATED             VIRTUAL SIZE
docker-whale         latest       7d9495d03763        38 minutes ago      273.7 MB
docker/whalesay      latest       fb434121fc77        4 hours ago         247 MB
hello-world          latest       91c95931e552        5 weeks ago         910 B

– ID ایمیج docker-whale خود را پیدا میکنیم. در این مثال id مورد نظر ما ۷d9495d03763 است.
اگر دقت کنید repositry در اینجا مخزن را نشان میدهد و اشاره‌ای به اسم docker-whale ندارد و ما نیاز داریم تا یک namespace برای داکرهاب تعیین کرده تا آن را با اکانت خودتان مرتبط کنید. Namespace مشابه اسم اکانت شما خواهد بود.
– از دستورات IMAGE ID و docker tag برای تگ کردن ایمیج docker-whale خود استفاده کنید. دستوری که تایپ میکنید شبیه زیر است :

tagger

و البته اسم اکانت خودتان را باید جایگزین کنید و id ایمیج خود و اسم اکانت خود را نیز وارد کرده و سپس اینتر را فشار دهید.

$ docker tag 7d9495d03763 maryatdocker/docker-whale:latest

 

– دستور dicker images را دوباره تایپ کنید تا ایمیج تگ شده جدید را مشاهده کنید :

$ docker images
REPOSITORY                  TAG       IMAGE ID        CREATED          VIRTUAL SIZE
maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
hello-world                 latest    91c95931e552    5 weeks ago      910 B

 

– از دستور docker login برای لاگین کردن به اکانت داکرهاب خودتان استفاده کنید. قالب دستور لاگین کردن چیزی شبیه به زیر است :

docker login --username=yourhubusername --email=youremail@company.com

 

و وقتی که از شما درخواست شد رمز عبور خود را وارد کرده و اینتر را فشار دهید؛ برای مثال :

$ docker login --username=maryatdocker --email=mary@docker.com
Password:
WARNING: login credentials saved in C:Userssven.dockerconfig.json
Login Succeeded

 

– از دستور docker push برای push کردن ایمیج خود به مخزن جدیدتان استفاده کنید :

$ docker push maryatdocker/docker-whale
The push refers to a repository [maryatdocker/docker-whale] (len: 1)
۷d9495d03763: Image already exists
c81071adeeb5: Image successfully pushed
eb06e47a01d2: Image successfully pushed
fb434121fc77: Image successfully pushed
۵d5bd9951e26: Image successfully pushed
۹۹da72cfe067: Image successfully pushed
۱۷۲۲f41ddcb5: Image successfully pushed
۵b74edbcaa5b: Image successfully pushed
۶۷۶c4a1897e6: Image successfully pushed
۰۷f8e8c5e660: Image successfully pushed
۳۷bea4ee0c81: Image successfully pushed
a82efea989f9: Image successfully pushed
e9e06b06e14c: Image successfully pushed
Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011

 

– حال به صفحه داکرهاب خود رفته و ایمیج جدید را مشاهده میکنیم.

new_image

قدم دوم : pull کردن ایمیج

در این قسمت میخواهیم ایمیجی که تگ دار کردیم و به مخزن خود push کردیم را بر روی سیستم pull کنیم؛ به یاد داشته باشید که باید ابتدا ایمیجی که بر روی سیستم هست را پاک کنیم. اگر ایمیج اصلی را پاک نکنیم داکر چیزی را از مخزن pull نخواهد کرد زیرا هر دو ایمیج دارای مشخصات یکسانی هستند.
– لیست ایمیج هایی که دارید را نمایش دهید

$ docker images
REPOSITORY                  TAG       IMAGE ID        CREATED          VIRTUAL SIZE
maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
hello-world                 latest    91c95931e552    5 weeks ago      910 B

برای اینکه تست خوبی انجام دهید maryatdocker/docker-whale و docker-whale را از روی سیستم خود پاک میکنیم.
– از دستور docker rmi برای پاک کردن maryatdocker/docker-whale و docker-whale استفاده کنید.

$ docker rmi -f 7d9495d03763
$ docker rmi -f docker-whale

 

شما میتوانید از id یا اسم برای پاک کردن یک ایمیج استفاده کنید.

– برای pull کردن یک ایمیج از مخزن از دستور docker pull کمک میگیریم. دستوری که وارد میکنید به صورت زیر و باید دارای یوزرنیم داکرهاب شما باشد :

 docker pull yourusername/docker-whale

 

از آنجایی که ایمیج دیگر در سیستم ما نیست؛ داکر اقدام به دانلود آن خواهد کرد. و کار ما در اینجا به پایان خواهد رسید.

 $ docker run maryatdocker/docker-whale
  Unable to find image 'maryatdocker/docker-whale:latest' locally
  latest: Pulling from maryatdocker/docker-whale
  eb06e47a01d2: Pull complete
  c81071adeeb5: Pull complete
  ۷d9495d03763: Already exists
  e9e06b06e14c: Already exists
  a82efea989f9: Already exists
  ۳۷bea4ee0c81: Already exists
  ۰۷f8e8c5e660: Already exists
  ۶۷۶c4a1897e6: Already exists
  ۵b74edbcaa5b: Already exists
  ۱۷۲۲f41ddcb5: Already exists
  ۹۹da72cfe067: Already exists
  ۵d5bd9951e26: Already exists
  fb434121fc77: Already exists
  Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
  Status: Downloaded newer image for maryatdocker/docker-whale:latest
   ________________________________________
  / Having wandered helplessly into a      
  | blinding snowstorm Sam was greatly     |
  | relieved to see a sturdy Saint Bernard |
  | dog bounding toward him with the       |
  | traditional keg of brandy strapped to  |
  | his collar.                            |
  |                                        |
  | "At last," cried Sam, "man's best      |
   friend -- and a great big dog, too!"   /
   ----------------------------------------
                  
                   
                    
                            ##        .
                      ## ## ##       ==
                   ## ## ## ##      ===
               /""""""""""""""""___/ ===
          ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
               ______ o          __/
                            __/
                  __________/

 

مرحله بعدی برای یادگیری داکر چیست؟

ما کارهای زیادی را در این سری آموزش‌ها انجام دادیم که از جمله آن‌ها میتوان به :
– نصب داکر

– اجرای یک ایمیج نرم افزاری در کانتینر

– قرار دادن یک ایمیج در داکر هاب

– اجرای ایمیح در ماشین خودمان

– تغییر دادن یک ایمیج برای ساخت ایمیج خودمان و اجرای آن

– ساخت یک اکانت داکر ها و repository

– push کردن ایمیج به داکرهاب برای استفاده و به اشتراک گذاری با دیگران
اشاره کرد.

پس از این مراحل که به نوعی شروع کار و یک مقدمه کوچک بر مبحث بزرگی چون docker بود پیشنهاد میکنیم که به دنبال مراجع خارجی و به روز برای داکر باشید تا بتوانید اطلاعات خود را بیشتر از آنچه که در اینجا یاد گرفته‌اید افزایش دهید.

دیجی اسپارک منتظر نظرهای خوب شماست 🙂

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه