داکر یک پلتفرم محبوب و قدرتمند برای مدیریت و اجرای برنامهها در محیطهای مجازی است که توسط گروه Docker Inc. توسعه و تحت مجوز آزاد MIT منتشر شده است. با استفاده از Docker، توسعهدهندگان و مدیران سیستم میتوانند برنامههای خود را در کانتینرهای مستقل و قابلحمل قرار داده و اجرا کنند. این کانتینرها بهصورت محیطهای مجازی سبک و قابل تکرار هستند که شامل تمامی تنظیمات لازم برای اجرای برنامه مورد نظر هستند. در این مقاله به معرفی و توضیح دستورات پرکاربرد در آن میپردازیم. این دستورات ابزارهای قدرتمندی هستند که به کاربران اجازه میدهند کانتینرها را مدیریت و کنترل کنند، تصاویر Docker را بسازند و مدیریت کنند و با کانتینرها ارتباط برقرار کنند. با مطالعه این مقاله، شما با این دستورات آشنا خواهید شد و میتوانید از قابلیتهای بینظیر این پلتفرم قدرتمند استفاده کنید.
داکر چیست؟
داکر یک پلتفرم متنباز برای ساخت، اجرا و مدیریت برنامهها است. این ابزار به توسعهدهندگان امکان میدهد برنامههای خود را در یک محیط مستقل و قابلحمل بهصورت کانتینر اجرا کنند. یک کانتینر، محیطی است که شامل برنامه و تمام وابستگیهای آن است و قابلیت اجرا در سیستمعاملهای مختلف را دارد. از این پلتفرم میتوان برای بستهبندی برنامهها و وابستگیهای آنها بهصورت مستقل استفاده کرد؛ بنابراین میتوان آنها را روی سیستمهای مختلفی بدون نیاز به تغییرات و مشکلات مربوط به نصب و پیکربندی در هر سیستمعاملی اجرا کرد. این پلتفرم همچنین به توسعهدهندگان اجازه میدهد تا برنامهها را بهصورت مقیاسپذیر و قابلانتقال بهسادگی مدیریت کنند.
داکر از تکنولوژیهای مجازیسازی بهره میبرد؛ اما در مقایسه با ماشینهای مجازی، سبکتر و کممصرفتر است. همچنین این پلتفرم امکاناتی برای مدیریت و مانیتورینگ کانتینرها فراهم میکند و از ابزارهای جانبی مانند Docker Compose برای مدیریت برنامههای چندبخشی استفاده میکند. در کل، داکر ابزاری قدرتمند است که توسعه، استقرار و مدیریت برنامهها را سادهتر و قابلاعتمادتر میکند. اگر میخواهید اطلاعات کاملتری نسبت به داکر داشته باشید مطالعه محتوای داکر Docker چیست؟ را فراموش نکنید.
موارد مختلفی که میتوانید از Docker استفاده کنید
از پلتفرم داکر برای کاربردهای متنوعی استفاده میشود. به همین دلیل نیز کاربردهای آن بسیار گسترده است و محدود به یک یا دو مورد نیست. در زیر برخی از مهمترین کاربردهای آن را بررسی میکنیم.
1. توسعه و تست نرمافزار
با استفاده از داکر میتوانید محیطهای توسعه یکپارچه را برای توسعه و تست نرمافزارها ایجاد کنید. این محیطها شامل تمامی وابستگیهای لازم برای اجرای برنامهها هستند و به توسعهدهندگان کمک میکنند تا در محیطهای مختلف بدون نگرانی از نصب و پیکربندی مجدد وابستگیها، برنامهها را اجرا و تست کنند.
2. انتقال و استقرار برنامهها
Docker به شما امکان میدهد برنامهها و تمامی وابستگیها و تنظیمات آنها را درون کانتینرهای مستقل بستهبندی کنید. این کانتینرها قابلیت حمل و انتقال آسان را دارند و میتوانند بدون دردسر اجرا شوند. این ویژگی اجازه میدهد برنامهها را بهسرعت و باقابلیت تکرار بالا در محیطهای مختلف استقرار دهید.
3. میکرو سرویسها و معماریهای مبتنی بر خدمات
استفاده از Docker در معماریهای مبتنی بر خدمات و میکرو سرویسها بسیار متداول است. هر سرویس را میتوان درون یک کانتینر قرار داد و این کانتینرها را مستقل از یکدیگر و قابل مقیاسپذیر کرد. این امر به توسعه و استقرار سریعتر و پیکربندی آسانتر سرویسها کمک میکند.
4. تست و اجرای برنامهها بدون تاثیر بر محیط میزبان
با استفاده از داکر میتوانید برنامههایی را اجرا کنید که بر میزبان سیستمعامل تاثیر نگذارند. این به شما امکان میدهد برنامههای مختلف را بهصورت جداگانه و در محیطهای مجازی از یکدیگر جدا و از تداخل آنها جلوگیری کنید.
5. مدیریت و استقرار پایگاه داده
داکر میتواند در مدیریت و استقرار پایگاه دادهها نیز کاربرد داشته باشد. با استفاده از آن میتوانید پایگاه دادههای مختلف را در کانتینرهای جداگانه بستهبندی کنید و آنها را با تمامی تنظیمات مورد نیاز در هر محیط استقرار دهید.
این فقط چند مورد از کاربردهای متنوع این پلتفرم هستند. با توجه به قابلیتها و امکانات آن، داکر در صنعت نرمافزار و توسعه و استقرار برنامهها بهعنوان یکی از ابزارهای اصلی شناختهشده است. همچنین اکوسیستم وسیعی از ابزارها و سرویسهای مرتبط با آن نیز وجود دارد که برای شما امکان انجام وظایف مختلف را روی کانتینرها فراهم میکنند.
۱۵ دستور پرکاربرد داکر
در زیر 15 دستور مهم و پرکاربرد در Docker را برای شما لیست کردهایم.
docker run: برای اجرای یک کانتینر جدید استفاده میشود.
docker build: برای ساخت تصویر (image)جدید از Dockerfile استفاده میشود.
docker pull: برای دریافت یک تصویر از ریپازیتوری Docker استفاده میشود.
docker push: برای ارسال (push) یک تصویر به ریپازیتوری داکر استفاده میشود.
docker stop: برای توقف (stop) اجرای یک یا چند کانتینر استفاده میشود.
docker rm: برای حذف (remove) یک یا چند کانتینر استفاده میشود.
docker rmi: برای حذف (remove) یک یا چند تصویر استفاده میشود.
docker ps: برای نمایش لیست کانتینرهای در حال اجرا استفاده میشود.
docker images: برای نمایش لیست تصاویر موجود در سیستم استفاده میشود.
docker exec: برای اجرای یک دستور درون کانتینر در حال اجرا استفاده میشود.
docker logs: برای نمایش لاگهای یک کانتینر استفاده میشود.
docker network: برای مدیریت شبکهها در Docker استفاده میشود.
docker volume: برای مدیریت و استفاده از ولومها (volumes) استفاده میشود.
docker-compose up: برای اجرای یک برنامه چندبخشی با استفاده از Docker Compose استفاده میشود.
docker stats: برای نمایش آمار مصرف منابع سیستم توسط کانتینرها استفاده میشود.
این دستورات تنها یک بخش کوچک از قابلیتهای داکر هستند و این پلتفرم مجموعهای از ابزارهای مفید برای توسعه، استقرار و مدیریت برنامهها را فراهم میکنند.
چگونه از دستورات داکر استفاده کنیم؟
برای استفاده از دستورات Docker، مراحل زیر را دنبال کنید:
نصب داکر
ابتدا باید داکر را بر روی سیستم خود نصب کنید. برای این منظور، میتوانید به سایت رسمی آن مراجعه کنید و نسخه مناسب را برای سیستمعامل خود دانلود و نصب کنید. اگر سیستم مدیریت محتوای شما وردپرس است میتوانید با مطالعه محتوای نصب وردپرس روی داکر مراحل نصب داکر را پیش ببرید.
اجرای محیط Docker
پس از نصب، محیط Docker بر روی سیستم شما فعال خواهد شد. بسته به سیستمعامل خود، میتوانید از ترمینال (Command Prompt در ویندوز) یا محیط گرافیکی داکر استفاده کنید.
اجرای دستورات Docker
حالا که داکر نصب و فعال است، میتوانید از دستورات آن استفاده کنید. بهعنوانمثال، میتوانید دستور ""docker run را برای اجرای یک کانتینر استفاده کنید.
برای اجرای دستورات Docker، به ترمینال خود بروید و دستور مورد نظر را وارد کنید. هر دستور دارای پارامترها و نحوه استفاده خاص خود است. برای درک بهتر نحوه استفاده از هر دستور، میتوانید به مستندات داکر مراجعه کنید یا از دستور ""docker -help برای دریافت راهنمایی در مورد دستور موردنظر استفاده کنید. لطفاً توجه داشته باشید که برای اجرای بعضی از دستورات داکر، شما ممکن است بسته به تنظیمات سیستم خود نیاز به دسترسی ریشه (sudo) داشته باشید.
دستور docker- help چیست؟
دستور "docker -help" یک دستور خط فرمان است که در این پلتفرم استفاده میشود و به شما راهنمایی در مورد دستورات و پارامترهای موجود در داکر ارائه میدهد. با اجرای این دستور، میتوانید فهرستی از دستورات و پارامترهای Docker را به همراه توضیح کوتاهی برای هرکدام مشاهده کنید. در ترمینال یا Command Prompt خود، دستور"docker -help" را اجرا کنید و نتیجه را مشاهده کنید. این دستور فهرستی جامع از دستورات و پارامترهای را نشان میدهد که شما میتوانید برای کسب اطلاعات بیشتر درباره هر دستور و نحوه استفاده از آنها از آن استفاده کنید. در نمونهای از خروجی این دستور، میتوانید فهرستی از بخشی از دستورات داکر را مشاهده کنید:
Management Commands:
builder Manage builds
config Manage Docker configs
container Manage containers
image Manage images
network Manage networks
node Manage Swarm nodes
plugin Manage plugins
secret Manage Docker secrets
service Manage services
stack Manage Docker stacks
swarm Manage Swarm
system Manage Docker
trust Manage trust on Docker images
volume Manage volumes
Commands:
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
...
همچنین با اجرای "docker <command> -help" جایگزین کردن (<command> با نام دستور موردنظر)، میتوانید راهنمایی مفصلتر درباره یک دستور خاص را دریافت کنید. بهعنوانمثال، با اجرای"docker run -help"، راهنمایی در مورد دستور "docker run" را مشاهده خواهید کرد.
برای ایجاد یک کانتینر همراه با تصاویر در داکر از چه دستوری استفاده میشود؟
برای ایجاد یک کانتینر همراه با تصویر از دستور docker run استفاده میشود. این دستور به شما امکان میدهد یک کانتینر جدید را بر اساس یک تصویر موجود ایجاد کنید. ساختار کلی دستور docker run به شکل زیر است:
docker run [OPTIONS] IMAGE: [TAG|@DIGEST] [COMMAND] [ARG...]
در اینجا:
OPTIONS شامل پارامترها و گزینههای مختلفی مانند تعیین پورتها، متغیرهای محیطی، حجمهای مشترک و غیره است که میتوانید در اجرای کانتینر تنظیم کنید.
IMAGE نشاندهنده نام تصویری است که میخواهید برای ساخت کانتینر استفاده کنید. میتوانید از نام تصویر به همراه برچسب (tag) یا شناسه (digest) استفاده کنید.
COMMAND و ARG نشاندهنده دستور اجرا شده درون کانتینر هستند. این قسمت اختیاری است و در صورت عدم تعیین، دستور پیشفرض تعیینشده در تصویر استفاده خواهد شد.
برای مثال، فرض کنید میخواهید یک کانتینر با تصویر ubuntu:latest ایجاد کنید. دستور زیر را میتوانید استفاده کنید:
docker run -it ubuntu:latest
در این مثال، با -it یک ترمینال تعاملی را به کانتینر متصل میکنیم تا بتوانید دستورات داخل کانتینر را اجرا کنید. پس از اجرای این دستور، شما وارد کانتینر Ubuntu خواهید شد و میتوانید دستورات و عملیات مورد نیاز خود را درون آن انجام دهید. توجه داشته باشید که با اجرای دستور docker run برای تصویری که در سیستم شما وجود ندارد، داکر ابتدا تصویر را از Docker Hub یا منبع دیگری که در تنظیمات آن تعیینشده است دانلود و سپس کانتینر را ایجاد خواهد کرد.
برای نشان دادن لیست کانتینرها در داکر از چه دستوری استفاده میشود؟
برای نمایش لیست کانتینرهای در حال اجرا در داکر از دستور docker ps استفاده میشود. این دستور لیست کاملی از کانتینرهای در حال اجرا را به همراه جزئیات آنها نمایش میدهد. ساختار کلی دستور docker ps به شکل زیر است:
docker ps[OPTIONS]
در کد دستوری بالا
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای فیلتر کردن و مرتبسازی لیست کانتینرها استفاده کنید، مانند -a برای نمایش تمام کانتینرها (شامل کانتینرهای متوقفشده) و -q برای نمایش تنها شناسه (ID) کانتینرها.
بهعنوانمثال، برای نمایش لیست کامل کانتینرهای در حال اجرا، میتوانید از دستور زیر استفاده کنید:
docker ps
این دستور لیست کانتینرهای در حال اجرا را به همراه جزئیاتی مانند شناسه کانتینر، تصویر مورداستفاده، پورتهای متصل شده، زمان اجرا و وضعیت فعلی نمایش میدهد. اگر میخواهید تمام کانتینرها (شامل کانتینرهای متوقفشده) را نمایش دهید، میتوانید از آپشن -a استفاده کنید.
docker ps -a
این دستور لیست تمام کانتینرها را (شامل کانتینرهای در حال اجرا و متوقفشده) به همراه جزئیات آنها نمایش میدهد.
برای شروع کانتینر از چه دستوری استفاده میشود؟
برای شروع یک کانتینر متوقفشده از دستور docker start استفاده میشود. این دستور به شما امکان میدهد یک کانتینر را که قبلاً متوقفشده بود، راهاندازی کنید و آن را به حالت اجرا برگردانید. ساختار کلی دستور docker start به شکل زیر است:
docker start[OPTIONS] CONTAINER [CONTAINER...]
در دستور بالا:
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید در شروع کانتینر تنظیم کنید، مانند -a برای متصل کردن ترمینال به کانتینر و -i برای حالت تعاملی ورود به کانتینر.
CONTAINER نشاندهنده شناسه (ID) یا نام کانتینر است که میخواهید شروع کنید. میتوانید چندین شناسه یا نام را به همراه دستور استفاده کنید. بهعنوانمثال، برای شروع یک کانتینر با نام یا شناسه "my-container" میتوانید از دستور زیر استفاده کنید:
docker start my-container
درصورتیکه میخواهید ترمینال خود را به کانتینر متصل کنید و در آن وارد شوید، میتوانید از آپشن -a و -i استفاده کنید:
docker start -ai my-container
این دستور کانتینر "my-container" را شروع کرده و ترمینال را به کانتینر متصل میکند، بهطوریکه میتوانید دستورات و عملیات مورد نیاز خود را درون کانتینر اجرا کنید. توجه داشته باشید که تنها کانتینرهایی که در گذشته با دستور docker create ایجاد شدهاند و در حالت متوقف قرار دارند، قابلیت شروع مجدد با استفاده از docker start را دارند.
برای اتصال به کانتینر در داکر باید از چه دستوری استفاده کنیم؟
برای اتصال به یک کانتینر از دستور docker exec استفاده میشود. این دستور به شما امکان میدهد دستورات و عملیات مورد نیاز را درون یک کانتینر در حال اجرا، اجرا کنید. ساختار کلی دستور docker exec به شکل زیر است:
docker exec [OPTIONS] CONTAINER COMMANDs [ARG...]
در خط کد بالا:
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید در اجرای دستور داخل کانتینر تنظیم کنید، مانند -i برای حالت تعاملی ورود به کانتینر و -t برای تخصیص ترمینال.
CONTAINER نشاندهنده شناسه (ID) یا نام کانتینر است که میخواهید به آن متصل شوید.
COMMAND و ARG نشاندهنده دستور و آرگومانهای موردنیاز هستند که درون کانتینر اجرا میشوند.
بهعنوانمثال برای اتصال به یک کانتینر با نام یا شناسه "my-container" و اجرای دستور"ls" درون آن، میتوانید از دستور زیر استفاده کنید:
docker exec -it my-container ls
در این مثال، با -it یک ترمینال تعاملی را به کانتینر متصل میکنیم و سپس دستور ls را درون کانتینر اجرا میکنیم. نتیجه اجرای دستور ls درون کانتینر را در ترمینال خود مشاهده خواهید کرد. در صورت تمایل به ورود به یک محیط تعاملی درون کانتینر (مانند یک پرونده فرمان یا یک مرورگر وب)، میتوانید دستور موردنظر را بهجای ls در دستور docker exec قرار دهید.
برای توقف کانتینر در داکر باید از چه دستوری استفاده شود؟
برای توقف یک کانتینر در Docker، از دستور docker stop استفاده میشود. این دستور به شما امکان میدهد کانتینر را بهطور صحیح متوقف کرده و اجرای آن را متوقف نمایید. ساختار کلی دستور docker stop به شکل زیر است:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای تنظیمات مربوط به توقف کانتینر استفاده کنید.
CONTAINER نشاندهنده شناسه (ID) یا نام کانتینر است که میخواهید متوقف کنید. میتوانید چندین شناسه یا نام را به همراه دستور استفاده کنید. بهعنوانمثال، برای توقف یک کانتینر با نام یا شناسه "my-container" میتوانید از دستور زیر استفاده کنید:
docker stop my-container
این دستور کانتینر "my-container" را متوقف میکند. همچنین میتوانید چندین کانتینر را همزمان متوقف کنید. برای این کار از شناسهها یا نامهای مختلف به شکل زیر استفاده کنید.
docker stop my-container1 my-container2
در این مثال کانتینرهای "my-container1" و"my-container2" را متوقف میکند.
برای حذف کانتینر در داکر از چه دستوری استفاده میشود؟
برای حذف یک کانتینر از دستور docker rm استفاده میشود. این دستور به شما امکان میدهد کانتینر را از سیستم بهصورت خودکار حذف کنید. ساختار کلی دستور docker rm به شکل زیر است:
docker rm [OPTIONS] CONTAINER [CONTAINER...]
در خط کد بالا:
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای تنظیمات مربوط به حذف کانتینر استفاده کنید. یکی از مهمترین گزینهها -f است که به شما اجازه میدهد کانتینرهای در حال اجرا را نیز حذف کنید.
CONTAINER نشاندهنده شناسه (ID) یا نام کانتینر است که میخواهید حذف کنید. میتوانید چندین شناسه یا نام را به همراه دستور استفاده کنید. بهعنوانمثال برای حذف یک کانتینر با نام یا شناسه "my-container" میتوانید از دستور زیر استفاده کنید:
docker rm my-container
اگر کانتینر در حال اجرا بود و میخواهید آن را حذف کنید، میتوانید از گزینه -f استفاده کنید:
docker rm -f my-container
در این مثال، کانتینر "my-container "را حذف میکند، حتی اگر در حالت اجرا باشد. همچنین میتوانید چندین کانتینر را همزمان حذف کنید. برای این کار بهصورت زیر عمل کنید.
docker rm my-container1 my-container2
در این مثال، کانتینرهای ""my-container1 و""my-container2 را حذف میکند.
برای از بین بردن کانتینر از چه دستوری استفاده میشود؟
برای از بین بردن (حذف نهایی) یک کانتینر در از دستور docker container rm استفاده میشود. این دستور به شما امکان میدهد کانتینر را بهطور کامل از سیستم خود حذف کنید. ساختار کلی دستور docker container rm به شکل زیر است:
docker container rm [OPTIONS] CONTAINER [CONTAINER...]
در خط کد بالا:
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای تنظیمات مربوط به حذف کانتینر استفاده کنید. یکی از مهمترین گزینهها -f است که به شما اجازه میدهد کانتینرهای در حال اجرا را نیز حذف کنید.
CONTAINER نشاندهنده شناسه ((ID یا نام کانتینر است که میخواهید حذف کنید. میتوانید چندین شناسه یا نام را به همراه دستور استفاده کنید. بهعنوانمثال برای حذف نهایی یک کانتینر با نام یا شناسه "my-container" میتوانید از دستور زیر استفاده کنید.
docker container rm my-container
اگر کانتینر در حال اجرا بود و میخواهید آن را حذف کنید، میتوانید از گزینه -f استفاده کنید:
docker container rm -f my-container
در این مثال، کانتینر ""my-container را بهطور کامل حذف میکند، حتی اگر در حالت اجرا باشد.
همچنین در این دستور نیز میتوانید چندین کانتینر را با استفاده از شناسهها یا نامهای مختلف همزمان حذف کنید. به مثال زیر توجه کنید.
docker container rm my-container1 my-container2
در این مثال کانتینرهای "my-container1" و"my-container2 "را بهطور کامل حذف میکند.
برای جدا کردن کانتینر در داکر از چه دستوری استفاده میشود؟
برای جدا کردن یک کانتینر در داکر از دستور docker container detach یا docker container stop استفاده میشود. این دستورها به شما اجازه میدهند کانتینر را از حالت اجرا به حالت متوقف ((stopped منتقل کنید. دستور docker container detach و docker container stop هر دو به نحوهای کانتینر را از حالت اجرا جدا میکنند؛ اما باید توجه داشته باشید که تفاوتی بین آنها وجود دارد. دستور docker container detach از صفحهبندی نرمال استفاده میکند و کانتینر را از حالت اجرا به حالت متوقف منتقل میکند. این دستور به شکل زیر استفاده میشود:
docker container detach [OPTIONS] CONTAINER [CONTAINER...]
بهعنوانمثال، برای جدا کردن یک کانتینر با نام یا شناسه "my-container" میتوانید از دستور زیر استفاده کنید:
docker container detach my-container
دستور docker container stop همچنین کانتینر را از حالت اجرا به حالت متوقف منتقل میکند؛ اما با استفاده از این دستور، Docker ابتدا سیگنال SIGTERM را به کانتینر ارسال میکند تا اجازه دهد فرآیندهای در حال اجرا درون کانتینر اجرای خود را به پایان برسانند. درصورتیکه کانتینر پس از گذشت مدتزمان مشخصی (بهطور پیشفرض 10 ثانیه) بهصورت خودکار متوقف نشود، سیگنال SIGKILL ارسال میشود تا کانتینر را بهاجبار متوقف کند. دستور docker container stop به شکل زیر استفاده میشود:
docker container stop [OPTIONS] CONTAINER [CONTAINER...]
بهعنوانمثال برای جدا کردن یک کانتینر با نام یا شناسه "my-container" میتوانید از دستور زیر استفاده کنید.
docker container stop my-container
از توضیحات فوق میتوان نتیجه گرفت که استفاده از دستور docker container stop برای جدا کردن کانتینر بهتر است؛ زیرا داکر ابتدا سیگنال SIGTERM را ارسال میکند و به کانتینر زمان میدهد تا فرآیندهای در حال اجرا خود را به پایان برساند و سپس در صورت لزوم سیگنال SIGKILL را ارسال میکند تا کانتینر را متوقف کند.
چگونه میتوان محتوا را از کانتینرها در سیستم فایل و بالعکس کپی کرد؟
برای کپی کردن محتوا به داخل یک کانتینر داکر از دستور docker cp استفاده میشود؛ و برای کپی کردن محتوا از داخل یک کانتینر به سیستم فایل میزبان، نیز از همین دستور استفاده میشود. برای کپی کردن محتوا به داخل یک کانتینر، دستور docker cp به شکل زیر استفاده میشود:
docker cp [OPTIONS] SOURCE_PATH CONTAINER:DEST_PATH
در خط کد بالا:
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای تنظیمات کپی استفاده کنید. برای مثال، گزینه -r مشابه با دستور cp در سیستمعامل لینوکس است و به شما امکان میدهد دایرکتوریها را بهصورت بازگشتی کپی کنید.
SOURCE_PATH مسیر فایل یا دایرکتوری موجود در سیستم فایل میزبان است که میخواهید کپی کنید.
CONTAINER نام یا شناسه کانتینر مورد نظر است.
DEST_PATH مسیر مقصد درون کانتینر است که میخواهید محتوا را به آن کپی کنید.
بهعنوانمثال برای کپی کردن فایل با نام "file.txt" از سیستم فایل میزبان به داخل کانتینر با نام یا شناسه"my-container" و مسیر مقصد /path/to/destination میتوانید از دستور زیر استفاده کنید:
docker cp file.txt my-container:/path/to/destination
برای کپی کردن محتوا از داخل یک کانتینر به سیستم فایل میزبان، نیز از همین دستور استفاده میشود. در این حالت، SOURCE_PATH و DEST_PATH جابهجا میشوند. بهعنوانمثال برای کپی کردن فایل با نام "file.txt "از داخل کانتینر با نام یا شناسه" "my-container و مسیر فایل path/to/source به سیستم فایل میزبان، میتوانید از دستور زیر استفاده کنید:
docker cp my-container:/path/to/source/file.txt /path/to/destination
دستور فوق فایل "file.txt" را از داخل کانتینر به مسیر"/path/to/destination" در سیستم فایل میزبان کپی میکند. توجه داشته باشید که در هر دو حالت، مسیرهای وارد شده باید بهصورت مطلق (absolute path ) بیان شوند.
برای لیست کردن تمام تصاویر داکر از چه دستوری استفاده میشود؟
برای لیست کردن تمام تصاویر (images) موجود در داکر دستور docker image ls یا docker images استفاده میشود. هردو دستور نتیجه مشابهی را نمایش میدهند. دستور docker image ls به شکل زیر استفاده میشود:
docker image ls [OPTIONS] [REPOSITORY: [TAG]]
دستور docker images نیز به شکل زیر استفاده میشود:
docker images [OPTIONS] [REPOSITORY: [TAG]]
در کد بالا:
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای تنظیمات نمایش تصاویر استفاده کنید. برای مثال گزینه -a یا -all تمام تصاویر را نمایش میدهد. حتی تصاویر میانی (intermediate images) را هم که توسط لایههای دیگری استفاده میشوند.
REPOSITORY نام مخزن (repository) مورد نظر است. با استفاده از این پارامتر، میتوانید تصاویر را بر اساس نام مخزن فیلتر کنید.
TAG برچسب (tag) تصویر است. با استفاده از این پارامتر، میتوانید تصاویر را بر اساس برچسب فیلتر کنید.
بهعنوانمثال برای لیست کردن تمام تصاویر موجود در داکر میتوانید از دستور زیر استفاده کنید:
docker image ls
یا:
docker images
این دستورها فهرستی از تصاویر Docker را به همراه اطلاعات مربوطه شامل نام مخزن، برچسب، شناسه (ID) تصویر، حجم و تاریخ ساخت را نمایش میدهند.
برای حذف تصاویر داکر از چه دستوری استفاده میشود؟
برای حذف تصاویر (images) در این پلتفرم میتوانید از دستور docker image rm استفاده کنید. این دستور به شکل زیر عمل میکند:
docker image rm [OPTIONS] IMAGE [IMAGE...]
OPTIONS شامل پارامترها و گزینههای مختلفی است که میتوانید برای تنظیمات حذف تصاویر استفاده کنید. برای مثال گزینه -f یا -force به شما اجازه میدهد تصاویر را بهصورت اجباری حذف کنید و درصورتیکه تصویر در حال استفاده توسط کانتینر یا سرویس دیگری باشد، آن را از حالت فعال خارج کنید.
IMAG نام یا شناسه تصویر مورد نظر است. میتوانید بیش از یک تصویر را برای حذف در یک دستور مشخص کنید.
بهعنوانمثال برای حذف یک تصویر با نام یا شناسه "my-image" میتوانید از دستور زیر استفاده کنید:
docker image rm my-image
اگر بیش از یک تصویر برای حذف دارید، میتوانید نام یا شناسه تصاویر را بهصورت جداگانه جدا کنید.
docker image rm image1 image2 image3
لطفاً توجه داشته باشید که حذف تصاویری که توسط کانتینرها یا سرویسهای دیگری استفاده میشوند، ممکن است با مشکل روبرو شود. در این صورت، باید ابتدا کانتینرها یا سرویسهای مربوطه را متوقف کنید یا تصویرها را از حالت فعال خارج کنید و سپس اقدام به حذف تصاویر نمایید.
نتیجهگیری
بهطورکلی میتوانیم بگوییم که دستورات پرکاربرد در داکر میتوانند به شما در مدیریت و اجرای برنامهها در محیطهای مجازی کمک کنند. در این مقاله به معرفی و توضیح مختصری از برخی از دستورات پرکاربرد در این پلتفرم پرداختیم. این دستورات شامل docker run، docker build، docker pull، docker push، docker stop، docker rm، docker rmi، docker exec و docker logs بودند.
سوالات متداول
چگونه یک کانتینر Docker را اجرا کنیم؟
جواب: از دستور docker run برای اجرای یک کانتینر Docker استفاده کنید. مثلاً docker run image-name
چگونه تصویر داکر را از مخزن (repository) دریافت کنیم؟
از دستور docker pull برای دریافت تصویر Docker از مخزن استفاده کنید. برای مثال docker pull image-name
چگونه یک تصویر Docker را حذف کنیم؟
از دستور docker image rm برای حذف تصویر Docker استفاده کنید. برای مثال docker image rm image-name
چگونه یک کانتینر داکر را متوقف کنیم؟
از دستور docker stop برای متوقف کردن یک کانتینر استفاده کنید. برای مثال docker stop container-name
چگونه لاگهای یک کانتینر را مشاهده کنیم؟
از دستور docker logs برای مشاهده لاگهای یک کانتینر استفاده کنید. برای مثال docker logs container-name
چگونه یک کانتینر Docker را حذف کنیم؟
از دستور docker rm برای حذف یک کانتینر استفاده کنید. برای مثال docker rm container-name
چگونه یک تصویر را بسازیم و آن را به مخزن داکر آپلود کنیم؟
با دستور docker build تصویر را بسازید و با دستور docker push آن را به مخزن آپلود کنید.