در این قسمت میخواهیم ایمیج 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 خود استفاده کنید. دستوری که تایپ میکنید شبیه زیر است :
و البته اسم اکانت خودتان را باید جایگزین کنید و 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
– حال به صفحه داکرهاب خود رفته و ایمیج جدید را مشاهده میکنیم.
قدم دوم : 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 بود پیشنهاد میکنیم که به دنبال مراجع خارجی و به روز برای داکر باشید تا بتوانید اطلاعات خود را بیشتر از آنچه که در اینجا یاد گرفتهاید افزایش دهید.
دیجی اسپارک منتظر نظرهای خوب شماست 🙂