داکر مجموعهای از محصولات پلتفرمها است که به عنوان سرویس ارائه میکند و برای راه اندازی و مدیریت کانتینرها استفاده میشود. توسعه دهندگان کانتینرها از Docker برای توسعه و استقرار برنامهها استفاده میکنند زیرا داکر محیطها را مجزا سبک و مجازی سازی میکند. نصب داکر بر روی اوبونتو لینوکس، از مجموعه آموزشهای لینوکس مقدماتی است و ما قصد داریم نحوه نصب و استفاده از داکر را در اوبونتو لینوکس آموزش دهیم. همچنین اگر به دنبال نصب داکر روی سایر توزیع های لینوکس هستید، میتوانید به مطلب نصب داکر روی لینوکس مراجعه کنید. در نتیجه به راحتی میتوانید این ابزار محبوب را روی لینوکس خود نصب کنید و از آن استفاده کنید.
پیش نیازهای نصب داکر در اوبونتو لینوکس
- اوبونتو 20.04 بر روی سیستم عامل 64 بیتی نصب شده باشد
- یک حساب کاربری با امتیازات sudo
- خط فرمان/ترمینال ( Ctrl+Alt+T یا منوی برنامهها > لوازم جانبی > ترمینال)
- مخازن نرم افزار داکر (اختیاری)
- کرنل لینوکس نسخه 3.8 یا بالاتر
آموزش نصب داکر در لینوکس اوبونتو 20.04
با استفاده از دو روش میتوانید داکر را در اوبونتو نصب کنید:
- نصب با استفاده از مخزن رسمی Docker
- نصب با استفاده از مخازن پیش فرض
اگر با استفاده از مخزن پیش فرض اوبونتو این پکیج را نصب کنید ممکن است آخرین نسخه نباشد. اگر میخواهید آخرین نسخه داکر یا یک نسخه خاص از آن را نصب کنید از مخزن رسمی داکر باید استفاده کنید.
روش اول: نصب داکر از مخزن رسمی
نصب داکر را با باز کردن یک پنجره ترمینال و بهروزرسانی مخزن لوکال شروع کنید:
sudo apt update
در مرحله بعد باید دیپندنسیهای پیش نیاز داکر را از مخازن آن دانلود کنید. با اجرای دستور زیر به مخازن Docker از طریق HTTPS دسترسی پیدا کنید و دیپندنسیهای پیش نیاز را دریافت کنید.
1 | sudo apt-get install apt-transport-https ca-certificates curl software-properties-common |
اجرای این دستور:
- به مدیر بسته اجازه میدهد فایلها و دادهها را از طریق https منتقل کند.
- به سیستم اجازه میدهد تا گواهیهای امنیتی را بررسی کند.
- ابزار curl را برای انتقال دادهها نصب میکند.
- اسکریپتهایی را برای مدیریت نرم افزار اضافه میکند.
در مرحله بعد برای اطمینان از صحت پکیجهای نرم افزار، کلید GPG را از مخزن رسمی داکر دانلود و اضافه کنید.
اکنون مخزن Docker را با استفاده از دستور نصب کنید:
1 | sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" |
نکته: در دستور بالا از معماری AMD استفاده شده است. اگر از معماری ARM استفاده میکنید، میتوانید کلمه arch=amd64 را در دستور بالا با arch=arm64 یا arch=armhf را اگر از arm hard float استفاده میکنید جایگزین کنید.
با بهروزرسانی مجدد مخزن شروع کنید:
1 2 | sudo apt update sudo apt-get install docker-ce |
روش دوم نصب داکر از مخازن پیش فرض اوبونتو
یک پنجره ترمینال را باز کنید و مخزن محلی را با دستور زیر به روز کنید:
1 | sudo apt update |
قبل از نصب نرم افزار، مطمئن شوید که بستههای Docker قدیمی را در اوبونتو 20.04 با اجرای دستور زیر حذف کردهاید:
1 | sudo apt-get remove docker docker-engine docker.io |
اکنون میتوانید Docker را از مخازن اوبونتو نصب کنید. دستور زیر را در پنجره ترمینال اجرا کنید:
1 | sudo apt install docker.io |
بررسی صحت نصب داکر
برای اطمینان از نصب داکر نسخه آن را بررسی کنید:
1 | docker --version |
خروجی:
1 2 3 4 5 6 | docker-ce: Installed: (none) Candidate: 5:19.03.9~3-0~ubuntu-focal Version table: 5:19.03.9~3-0~ubuntu-focal 500 500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages |
راه اندازی سرویس داکر در لینوکس
برای راه اندازی سرویس Docker دستورات زیر را اجرا کنید:
1 2 | sudo systemctl start docker sudo systemctl enable docker |
در نهایت برای بررسی وضعیت Docker میتوانید از دستور زیر استفاده کنید:
1 | sudo systemctl status docker |
خروجی:
1 2 3 4 5 6 7 8 9 10 11 | docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-05-04 06:43:00 UTC; 2min 28s ago TriggeredBy: docker.socket Docs: https://docs.docker.com Main PID: 12995 (dockerd) Tasks: 8 Memory: 38.6M CPU: 400ms CGroup: /system.slice/docker.service └─12995 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock |
آموزش استفاده از داکر در لینوکس اوبونتو
داکر نیز همانند سایر سیستمهای معمولی در لینوکس از سینتکس زیر پشتیبانی میکند:
1 | docker [option] [command] [arguments] |
به صورت کلی دستورات داکر به صورت زیر هستند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | attach Attach local standard input, output, and error streams to a running container build Build an image from a Dockerfile commit Create a new image from a container's changes cp Copy files/folders between a container and the local filesystem create Create a new container diff Inspect changes to files or directories on a container's filesystem events Get real time events from the server exec Run a command in a running container export Export a container's filesystem as a tar archive history Show the history of an image images List images import Import the contents from a tarball to create a filesystem image info Display system-wide information inspect Return low-level information on Docker objects kill Kill one or more running containers load Load an image from a tar archive or STDIN login Log in to a Docker registry logout Log out from a Docker registry logs Fetch the logs of a container pause Pause all processes within one or more containers port List port mappings or a specific mapping for the container ps List containers pull Pull an image or a repository from a registry push Push an image or a repository to a registry rename Rename a container restart Restart one or more containers rm Remove one or more containers rmi Remove one or more images run Run a command in a new container save Save one or more images to a tar archive (streamed to STDOUT by default) search Search the Docker Hub for images start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codes |
پس از نصب داکر تنها کاری که باید انجام دهید این است که از تصاویر آزمایشی استفاده کنید تا بررسی کنید که داکر شما به صورت کامل کار میکند یا خیر. برای انجام این کار دستور زیر را اجرا کنید:
1 | sudo docker run hello-world |
حالا اگر بخواهیم تصاویر موجود را جستجو کنیم، فقط باید از سینتکس زیر استفاده کنیم:
1 | sudo docker search [search_query] |
برای استفاده از این دستور باید متن جستجوی خود را با [search_query] جایگزین کنیم. برای مثال اگر بخواهید تصاویر مربوط به Debian را جستجو کنید باید دستور زیر را اجرا کنید:
1 | sudo docker search Debian |
سپس برای دانلود تصویر در کامپیوتر خود از نام تصویر به همراه دستور pull استفاده میکنیم.
سینتکس:
1 | sudo docker pull [image_name] |
به عنوان مثال، دستور میتواند به شکل زیر استفاده شود:
1 | sudo docker pull Debian |
تصاویر موجود را میتوانید با استفاده از دستور زیر فهرست کنید:
1 | sudo docker images |
آموزش حذف داکر در لینوکس
برای حذف داکر یا Docker Engine از لینوکس اوبونتو، به سادگی دستور زیر را اجرا کنید.
1 | sudo apt remove docker docker-engine docker.io containerd runc |
Docker Engine به راحتی حذف میشود؛ اما سایر فایلهای مرتبط با Docker مانند تصاویر، کانتینرها، حجمها یا فایلهای پیکربندی به طور خودکار حذف نمیشوند. میتوانید این فایلها را با استفاده از ابزار rm حذف کنید:
1 2 | sudo rm -rf /var/lib/docker sudo rm -rf /var/lib/containerd |
جمع بندی
داکر یک سیستم عالی برای مدیریت کانتینرها و استقرار نرم افزارها را فراهم میکند. نصب داکر روی لینوکس اوبونتو به راحتی انجام شد اما قبل از نصب آن حتماً باید پیش نیازهای آن را نصب کنید. در این مقاله هر آنچه برای نصب و فعال سازی داکر نیاز داشتید بیان شد و پس از آن به راحتی میتوانید از Docker در لینوکس استفاده کنید. البته داکر یک سیستم بسیار بزرگ است که آموزش و یادگیری آن به این مقاله ختم نمیشود.
سوالات متداول
پیش نیازهای نصب داکر در اوبونتو چیست؟
داکر برای هسته کرنل لینوکس نسخه 3.8 یا بالاتر طراحی شده است.
آیا داکر در ویندوز هم اجرا میشود؟
پلتفرم داکر به صورت عمومی بر روی
- ·لینوکس (در x86-64، ARM و بسیاری دیگر از معماریهای CPU)
- در ویندوز (x86-64)
اجرا میشود.
چگونه داکر را در خط فرمان اجرا کنم؟
سینتکس اصلی اجرای داکر در خط فرمان به صورت زیر است:
1 | docker run [OPTIONS] IMAGE [COMMAND] [ARG...] |
فایل کانفیگ داکر لینوکس کجاست؟
1 | /etc/docker/daemon.json |
آیا داکر نیاز به کدنویسی دارد؟
دانش خوب برنامه نویسی در لینوکس تنها چیزی است که شما نیاز دارید. شما باید با مفاهیمی مانند cgroupها و شبکهها آشنا باشید. اما یکی از مزایای داکر این است که برای شروع نیازی به دانستن چیزهای زیادی ندارید.