Docker یک ابزار محبوب برای توسعه و اجرای نرم افزار در بستههایی به نام “کانتینر” است. اوبونتو نیز یکی از محبوبترین توزیعهای لینوکس بوده و سیستم عاملی است که به خوبی توسط داکر پشتیبانی میشود.
نصب Docker در اوبونتو یک پلتفرم ایده آل برای پروژههای برنامهنویسی شما ایجاد میکند و ما در این نوشتار نحوه انجام این کار را به شما میآموزیم.
داکر چیست و چه کاربردی دارد؟
سادهترین پاسخ برای این پرسش این است که داکر یک پلتفرم متن باز است که بر مبنای سیستم عامل لینوکس راهاندازی شده و میتواند فرایند ایجاد، پیاده سازی و اجرای برنامهها را با استفاده از Container ها بسیار ساده کند.
Docker رویکردی مبتکرانه برای اجرای سریع اپلیکیشنها بدون تحت تاثیر قرار دادن باقی سیستم به حساب میآید و در واقع، مجموعهای از محصولات پلتفرم به عنوان یک سرویس (PaaS) است که از مجازیسازی در سطح سیستم عامل برای تولید بستههای نرمافزاری استفاده میکند. اولین نسخه از داکر در سال ۲۰۱۳ میلادی منتشر شد.
مهمترین مزیت این پلتفرم، خودکاری سازی پروسه deploy برنامه است و برای این منظور از کانتینرها و تصاویر داکر استفاده می شود. افزایش بهره وری کار تیمی و ایجاد یک محیط سریع تر برای مدیریت منابع از دلایلی هستند که باعث میشوند اکثر تیم های حرفهای به سمت این مسیر کشیده شوند.
اگر می خواهید اطلاعات جامع تری در مورد داکر و طرز کار آن به دست بیاورید، توصیه می کنیم که مقاله “داکر Docker چیست ؟ نحوه عملکرد، کاربرد و مزایا” را از دست ندهید.
ابزارهای لازم برای نصب Docker در اوبونتو
در اولین گام، مطمئن شوید که اوبونتوی شما یکی از نسخههای اوبونتو 18.04، 20.04، 21.10 و 22.04 است، سپس به یک کاربر روت یا غیر روت برای نصب این پلتفرم نیاز دارید. در ضمن پکیج های apt-transport-https، ca-certificates و curl برای تکمیل نصب داکر روی اوبونتو ضروری هستند.
نصب داکر روی اوبونتو به راحتی با چند دستور ساده قابل انجام است و این پروسه با اتصال به اینترنت و نصب برخی از پکیجهای مورد نیاز برای اجرای درست داکر شروع میشود که از بین آنها انتخاب شما به عملکرد مورد نیاز و رویکرد ترجیحی شما برای مدیریت کانتینر بستگی دارد.
مراحل نصب داکر در اوبونتو
Docker Engine روشی استاندارد برای اجرای Docker در اوبونتو است. همانطور که پیشتر اشاره کردیم قبل از ادامه، مطمئن شوید که نسخه اوبونتو 18.04 یا جدیدتر را اجرا میکنید.
Docker Engine دارای 3 روش نصب مختلف است:
- مخزن رسمی اوبونتو (apt)
- Debian مستقل (.deb)
- اسکریپت نصب خودکار
استفاده از گزینه اول یعنی مخزن apt مرسومترین روش نصب است. گزینه دوم یعنی دبیان قابلیت به روز رسانی خودکار ندارد اما با این حال برای نصب داکر روی سیستمهای air-gapped offline گزینه ایدهآلی است. اسکریپت نصب خودکار ساده ترین روش برای شروع است، اما فقط برای استفاده در پیکربندی طراحی شده است.
نصب داکر با استفاده از ریپازیتوری apt
از آنجایی که نسخه نصبی داکر موجود در ریپازیتوری یا همان مخزن اوبونتو ممکن است آخرین نسخه نباشد، برای اطمینان از آخرین نسخه دریافتی، آن را از ریپازیتوری رسمی Docker نصب خواهیم کرد.
برای انجام این کار ابتدا باید کلید GPG از داکر وارد کنید تا مطمئن شوید که دانلود آن امکانپذیر است. ابتدا لیست بستههای موجود خود را بهروز کنید:
$ sudo apt update
$ sudo apt install ca-certificates curl gnupg lsb-release
سپس دستور زیر را اجرا کنید:
$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ sudo chmod a+r /etc/apt/keyrings/docker.gpg
اکنون می توانید منبع Docker را به سیستم خود اضافه کنید. دستور زیر را اجرا کنید:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
ریپازیتوری به عنوان یک لیست پکیج جدید در دایرکتوری apt /etc/apt/sources.list.d اضافه می شود.
لیست های پکیج خود را دوباره به روز کنید تا apt بداند بسته های Docker وجود دارد:
$ sudo apt update
اکنون می توانید از دستور apt install برای افزودن اجزای Docker به سیستم خود استفاده کنید. شما آخرین نسخه Docker Community Edition (CE) را نصب خواهید کرد. سه پکیج برای نصب وجود دارد:
- docker-ce: دیمون Docker Engine.
- docker-ce-cli: Docker CLI که با آن تعامل خواهید داشت.
- Containerd.io: زمان اجرای کانتینر معروف به Container که کانتینرهای شما را شروع و اجرا می کند.
$ sudo apt install docker-ce docker-ce-cli containerd.io
نصب داکر با استفاده از debian
راه اندازی بسته رسمی .deb ساده است، اما باید هر نسخه جدید را به صورت دستی دانلود و نصب کنید. بسته ها بر روی یک سرور فایل ساده میزبانی می شوند. ابتدا به صفحه یادداشتهای انتشار Docker بروید تا آخرین شماره نسخه موجود، مانند 20.10.20 را بیابید. سپس به صفحه GitHub Containerd بروید تا شماره نسخه آن را نیز بررسی کنید. احتمالا چیزی شبیه به: 1.6.8 خواهد بود.
اکنون می توانید دستورات زیر را برای دانلود مجموعه مناسب از بسته ها برای پلتفرم خود اجرا کنید. <DOCKER_VERSION> و <CONTAINERD_VERSION> را به ترتیب با شماره نسخه فعلی Docker و containerd جایگزین کنید.
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/docker-ce-cli_<DOCKER_VERSION>~3-0~ubuntu-focal_amd64.deb -o docker-ce-cli.deb
$ curl https://download.docker.com/linux/ubuntu/dists/$(lsb_release --codename | cut -f2)/pool/stable/$(dpkg --print-architecture)/containerd.io_<CONTAINERD_VERISON>-1_amd64.deb -o containerd.deb
همچنین میتوانید فایلها را دانلود کنید و با مراجعه به فهرست دایرکتوری نسخه اوبونتو در مرورگر خود، همه نسخههای موجود را بررسی کنید.
پس از دانلود بسته های Docker CE، CLI و containerd، از دستور زیر برای نصب آن ها استفاده کنید:
$ sudo apt install ./docker-ce.deb ./docker-ce-cli.deb ./containerd.deb
اگر بسته ها را به صورت دستی و بدون استفاده از اسکریپت ارائه شده در بالا دانلود کرده اید، خودتان نام فایل ها را تنظیم کنید.
نصب Docker با استفاده از Installation Script
ابتدا اسکریپت را دانلود کنید:
$ curl -fsSL https://get.docker.com -o get-docker.sh
اکنون اسکریپت را با به وسیله روت اجرا کنید:
$ sudo sh get-docker.sh
Executing docker install script
...
صبر کنید تا اسکریپت کامل شود. در این مرحله شما باید یک پیام تأیید را ببینید که نشان می دهد Docker نصب شده است.
تست داکر
از هر روشی که این پلتفرم را نصب کرده اید باید از صحت عملکردش مطمئن شوید بنابراین دستور زیر را اجرا کنید:
$ sudo docker run hello-world
میبینید که کلاینت Docker تصویر hello-world:image را از مخزن Docker Hub به دستگاه شما میآورد:
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:7d246653d0511db2a6b2e0436cfd0e52ac8c066000264b3ce63331ac66dca625
Status: Downloaded newer image for hello-world:latest
سپس یک کانتینر جدید به طور خودکار شروع می شود. تصویر آغازگر “hello-world” برای اجرای یک فرمان ساده پیکربندی شده است که برخی از اطلاعات اولیه در مورد Docker را خروجی می دهد و سپس بلافاصله از آن خارج می شود:
Hello from Docker!
This message shows that your installation appears to be working correctly.
To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
(amd64)
3. The Docker daemon created a new container from that image which runs the
executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it
to your terminal.
نصب داکر روی سرور مجازی
اجرای داکر روی سرور مجازی لینوکس این امکان را به کاربران می دهد که کنترل بیشتری روی منابع مربوط به سرور خود داشته باشند. زیرساخت قوی سرور مجازی در کنار کارایی بالا و مدیریت آسان باعث شده است که راه اندازی داکر روی سرور مجازی ایده هوشمندانه تری باشد.
البته، نیازی به نگرانی هم نیست چون نصب داکر در سرور مجازی اوبونتو ۲۰.۰۴ هم مشابه مراحل بالا است. تنها کاری که باید برای بالا بردن امنیت و کارایی کانتینرها انجام دهید، این است که سرور مجازی ایده آل و مناسبی را خریداری کنید.
سخن پایانی
همان طور که بیان کردیم، داکر یک ابزار open source با بازدهی بسیار بالا برای طراحی و ساخت برنامهها به کمک کانتینر است. Container به یک برنامه نویس کمک میکند تا پروژه خود را با تمام بخشهای آن به صورت یک بسته درآورد. او با وجود این تکنیک، میتواند مطمئن باشد که پروژه اش در سیستمهای دیگر بدون نیاز به ابزارها یا تنظیمات خاص، اجرا میشود. پس نصب داکر روی اوبونتو ۲۰.۰۴ با استفاده از چند دستور ساده می تواند شروعی برای موفقیت های بیشتر در حوزه شغلی برنامه نویسی باشد.
از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید بوده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر پاسخگوی شما باشیم.
منبع: