آموزش کامل داکر (docker)

داکر, به انگلیسی Docker یک نرم افزار automation برای deployment محیط نرم افزار است.

Image

یک image در Docker بسته‌ای شامل تمام وابستگی ها و تنظیمات برای نصب و اجراء یک نرم افزار است.

نمایش image ها

با دستور images می‌تواند لیست image ها در docker را دید.

docker images

حذف image

با دستور rmi می‌توانید image مورد نظر خود را حذف کنید.

docker images [IMAGE ID]

Container

هر container در Docker بستر اجراء یک Image است که مثل یک ماشین مجازی عمل می‌کند, و سیستم عامل میزبان را از داخل container مجزا می‌کند.

در یک Container برخلاف Virtual Machine که Hardware را با hypervisor شبیه سازی می‌کند, سخت افزار شبیه سازی نمی‌شود, و Container از سخت افزار و Kernel میزبان استفاده می‌کند, و تنها سیستم عامل شبیه سازی می‌شود.

نمایش containers ها

با دستور ps یا container ls می‌توان لیست container ها را دید.

docker container ls
docker ps

توقف container

برای توقف container از دستور زیر استفاده می‌کنیم

docker stop [CONTAINER_ID]

Dockerfile

دستورات داکر در یک فایل متنی به نام Dockerfile ذخیر می‌شود که داکر با خواندن آن می‌تواند یک فایل image تولید کند.

FROM

فایل داکر باید با دستور FROM شروع شود؛ از این دستور برای pull کردن یک فایل image از سرور و build کردن آن استفاده می‌شود.

FROM IMAGE:VERSION

ARG

از دستور ARG برای ایجاد متغیر و استفاده از داده های آن استفاده می‌شود.

ARG  CODE_VERSION=latest
FROM base:${CODE_VERSION}

COPY

دستور COPY فایل های داده شده را از مسیر <src> به مسیر مقصد <dest> در filesystem کانتینر کپی خواهد کرد.

COPY <src> <dest>

RUN

دستور RUN به ۲ شکل زیر استفاده می‌شود.

  • RUN <command> (shell form, the command is run in a shell, which by default is /bin/sh -c on Linux or cmd /S /C on Windows)
  • RUN ["executable", "param1", "param2"] (exec form)

دستور RUN دستور داده شده را در یک لایه جدید بالای image فعلی اجراء خواهد کرد, و نتیجه را به ما خواهد داد؛ نتیجه اجراء این دستور, برای مراحل بعد Dockerfile استفاده خواهد شد.

RUN ["/bin/bash", "-c", "echo hello"]

CMD

در هر Dockerfile, تنها یک دستور CMD می‌تواند وجود داشته باشد, و اگر بیش از ۱ دستور CMD استفاده کنید, تنها آخرین CMD اجراء خواهد شد؛ این دستور به شکل های زیر نوشته می‌شود.

  • CMD ["executable","param1","param2"] (exec form, this is the preferred form)
  • CMD ["param1","param2"] (as default parameters to ENTRYPOINT)
  • CMD command param1 param2 (shell form)
FROM ubuntu
CMD echo "This is a test." | wc -

پیوند ها

comments