buy vpn kharid vpn kerio vpn mobile vpn
آشنایی با دستورات داکر – رایانش ابری
خانه >* پشتیبانی سیستم >* آشنایی با دستورات داکر

آشنایی با دستورات داکر

تصمیم گرفته ام بخشی از ساعات آزمایشگاه را به کار بر روی داکر اختصاص دهم و نتیجه هر جلسه را در قالب یه سلسله آموزش در اختیار دوستان قرار می دهم . در این پست ، ابتدا داکر را با هم نصب میکنیم و سپس من باب آشنایی ، تعدادی از دستورات آن را با هم بررسی می کنیم .

 

1-      Docker info

 

قبل از شروع به نصب ، بهتر است که مطمئن شوید داکر بر روی سیستم شما نصب نیست برای این منظور دستور docker info را در ترمینال وارد می کنیم . اگر داکر نصب نشده باشد ، خروجی دستور به شما اعلام خواهد کرد داکر نصب نیست :  #Docker has not been properly installed

 

پس شروع به نصب آن می کنیم :

ابتدا دستورات زیر را اجرا می کنیم:

 

sudo aptitude update

sudo aptitude -y upgrade

سپس کلید و خود مخازن داکر را به لیست مخازن سرور اضافه میکنیم :

sudo sh -c “wget -qO- https://get.docker.io/gpg | apt-key add -”

sudo sh -c “echo deb http://get.docker.io/ubuntu docker main\

> /etc/apt/sources.list.d/docker.list”

 

حالا مخازن را به روز کنید:

sudo aptitude    update

 

و در انتها شروع به نصب داکر کنید :

 

sudo aptitude install lxc-docker

 

اما اگر داکر نصب باشد ، مانند شکل زیر به شما اطلاعات پایه ای از خود خواهد داد .همانطور که در شکل می بینید هنوز ایمیجی بر روی داکر نصب نشده است .

docker info

نکته :  image های داکر را من بررگردان فارسی نمیکنم و با عبارت ایمیج عنوان خواهم نمود .

 

برای قدم اول ، یک ایمیج از داکر ایجاد میکنیم .بعد که جلوتر بریم خواهید فهمید برای ایجاد ایمیج از داکر ، روش های مختلفی داریم اما در اینجا ما با pull گرفتن از یک ایمیج از پیش ساخته شده بر روی سرور، اولین ایمیج را ایجاد میکنیم :

 

2-  sudo docker pull busybox

docker pull

busybox یک سیستم ساده لینوکسی است که اکثرتوابع اصلی لینوکس را در خود دارد .

 

در قدم بعدی ما یک دستور ساده را روی این ایمیج اجرا میکنیم . برای اجرای دستورات از docker run کمک می گیریم . در این دستور ما قصد داریم عبارت Hello Docker را در خروجی به کاربر نشان دهیم :

 

3-         docker run busybox /bin/echo Hello Docke

docker run

حالا تصمیم داریم دستور را کمی پیچیده تر کنیم . قصد داریم دستوری بنویسیم که هر یک ثانیه عبارت  Docker را در خروجی نشان دهد .

4-  sample_job=$(docker run -d busybox /bin/sh -c “while true; do echo Docker; sleep 1; done”)

docker run a container

حالا تصمیم داریم دستور را کمی پیچیده تر کنیم . قصد داریم دستوری بنویسیم که هر یک ثانیه عبارت  Docker را در خروجی نشان دهد .

 

4-  sample_job=$(docker run -d busybox /bin/sh -c “while true; do echo Docker; sleep 1; done”)

 

همانطور که می بینید این دستور را با عنوان sample_job تعریف کردیم تا بتوانیم بعدا راحت تر فراخوانی ، تغییر یا حذفش کنیم .

 

با این کار در واقع ما یک کانتینر (Container این رو هم به فارسی بر نمی گردونم ) ایجاد کردیم . حالا اگر بعدا بخواهیم سراغ این دستور برویم کافی است عبارت

 

5-  docker logs $sample_job

 

را تایپ کنیم .

 

اگر بخواهیم این کانتینر را متوقف کنیم دستور :

 

6-  docker stop $sample_job

 

اگر بخواهیم کانتینر را بازنشانی کنیم دستور :

 

7-  docker restart $sample_job

 

و اگر بخواهیم کانتینر را حذف کنیم ابتدا آن را متوقف و سپس حذف می کنیم :

 

docker stop $sample_job8-   docker rm $sample_job

 

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

 

9-  docker commit $sample_job job1

 

در نظر داشته باشید نامی که برای یک ایمیج انتخاب میکنید فقط می تواند ترکیبی از حروف a-z و اعداد 0-9   باشد .

 

حال اگر قصد داشته باشید لیست تمامی ایمیج ها را ببینید کافی است عبارت زیر را در خط فرمان تایب کنید :

 

10-docker images

 

همانطور که در پست قبلی هم گفتم ، ایمیج ها در docker registry یا ثبات داکر ذخیره می شوند . پس ما میتوانیم هر زمان که لازم بود آنها را از طریق جست و جو پیدا کنیم :

 

11-docker search

 

تاریخچه ی ایمیج های ساخته شده هم از طریق دستور زیر قابل مشاهده است :

 

12-docker history

 

نهایتا هم اگر خواستید یک ایمیج را به ثبات داکر پوش کنید کافی است از دستور زیر کمک بگیرید :

 

13-docker push NAME

 

لیست همه دستورات داکر را می توانید از طریق دستور زیر ببینید  :

 

 

14-docker help

attach    Attach to a running container
build     Build a container from a Dockerfile
commit    Create a new image from a container's changes
cp        Copy files/folders from the containers filesystem to the host path
diff      Inspect changes on a container's filesystem
events    Get real time events from the server
export    Stream the contents of a container as a tar archive
history   Show the history of an image
images    List images
import    Create a new filesystem image from the contents of a tarball
info      Display system-wide information
insert    Insert a file in an image
inspect   Return low-level information on a container
kill      Kill a running container
load      Load an image from a tar archive
login     Register or Login to the docker registry server
logs      Fetch the logs of a container
port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
ps        List containers
pull      Pull an image or a repository from the docker registry server
push      Push an image or a repository to the docker registry server
restart   Restart a running container
rm        Remove one or more containers
rmi       Remove one or more images
run       Run a command in a new container
save      Save an image to a tar archive
search    Search for an image in the docker index
start     Start a stopped container
stop      Stop a running container
tag       Tag an image into a repository
top       Lookup the running processes of a container
version   Show the docker version information
wait      Block until a container stops, then print its exit code

 

 

درباره ی کریمی

کارشناس سخت افزار، ارشد معماری سیستم های موازی - دانشگاه فردوسی مشهد || محقق در زمینه رایانش ابری؛ زیرساخت به عنوان سرویس || مربی آزمایشگاه های ریزپردازنده، سیستم عامل ، معماری ، منطقی و معماری - دانشگاه بزرگمهر قائنات || آشنایی با انواع پلت فرم های زیرساخت | openstack | Eucalyptus | OpenNebula ||| تجربه کاری در زمینه شبکه : Linux | Debian | Ubuntu Cisco | CCNA | CCNP Microsoft | Server 2003

یک دیدگاه

  1. سلام
    ممنون از مطالب مفیدتون.
    اگر ممکن هست یک منبع فارسی جهت اموزش کامل داکر معرفی کنید.

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *