Docker – انجمن DEV

از Docker بدون sudo استفاده کنید
برای این کار باید کاربر را به مد docker اضافه کنیم.
در زیر دستور ترمینال آمده است:
sudo usermod -a -G docker userName
#or
sudo usermod -a -G docker $USER
اکنون باید از سیستم خارج شده و دوباره وارد شوید تا جلوه ها را ببینیم.
یک تصویر داکر عمومی را از داکر هاب بکشید و اجرا کنید.
دستور اینجاست
نسخه اختیاری است
docker run image:version
مزایای داکر
1 نور آن
2 سریع است
3 این اجازه می دهد تا لایه های پیکربندی متفاوتی داشته باشید
یعنی می توانیم آن را از پیکربندی های واقعی سیستم عامل جدا کنیم.
4 ما همچنین از اجرای همان تصویر بهره مند می شویم
با نسخه های مختلف به طور همزمان در یک کامپیوتر.
دستورات پایه
Docker pull imageName: version
این تصویر عمومی را از داکر هاب دریافت می کند.
نسخه اختیاری است
تصاویر داکر
لیست تمام تصاویر را نشان می دهد
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest e10bd12f0b2d 7 days ago 138MB
اجرای docker imageName:version
اینجا همه چیز جالب می شود.
اگر هنگام کشیدن به نسخه اشاره کردید، اکنون نیز باید این کار را انجام دهید.
Else docker آخرین نسخه آن را می کشد و سپس آن را اجرا می کند.
💡 خوب، شما می توانید آن را فقط با انجام یک کار متوقف کنید Ctrl+C
خودشه.
داکر ps
تمام تصاویر در حال اجرا را فهرست می کند.
💡 میتونیم استفاده کنیم Ctrl+C
برای متوقف کردن تصویر
docker run -d imageName
برای اجرای تصویر در حالت جدا شده یعنی اکنون Ctrl+C
روی آن کار نخواهد کرد
در حالت جدا شده اجرا می شود
مثال
docker run -d -p3000:3000 --name node-app example-node
اکنون برای توقف یک تصویر جدا شده
ما نیاز داریم
💡 docker ps
اکنون شناسه را داریم
ما می توانیم آن را به سادگی با استفاده از آن متوقف کنیمdocker stop id
داکر ps -a
این کل تاریخ را چاپ می کند.
از اینجا می توانیم یک کانتینر را با شناسه آن شروع کنیم.
با استفاده از دستور
docker start id
docker run -p:containerPort image: version
حالا دستور بالا کمی بزرگ به نظر می رسد.
بگذار آن را بشکنم.
بیایید ابتدا یک مثال داشته باشیم
docker run -p9000:6379 -d redis
نتیجه
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5aeaf8ee3849 redis "docker-entrypoint.s…" 14 seconds ago Up 11 seconds 0.0.0.0:9000->6379/tcp, :::9000->6379/tcp xenodochial_curran
این به ما کمک می کند یک پورت میزبان را به پورت کانتینر متصل کنیم.
وقتی می خواهیم 2 نسخه از یک تصویر را اجرا کنیم، این واقعا مفید است.
ما می توانیم آنها را به 2 پورت مختلف متصل کنیم.
شناسه لاگ داکر
این به ما کمک می کند تا سیاهه های مربوط به یک ظرف را ببینیم.
این به ما کمک می کند تا باگ ها و خطاها را حل کنیم.
💡 همچنین می توانیم در اینجا به جای id از نام ها استفاده کنیم
نامگذاری کانتینرهای داکر
اجرای docker — نام سفارشی نام تصویر: نسخه
docker run -p9000:6379 -d --name redis_latest redis
docker run -d -p9001:6379 --name redis_old redis:6.2
docker rm container_id_or_name
این دستور ظرف را حذف می کند
سابق
docker rm redis_old redis_latest
تمام ظروف را بردارید
💡
docker ps -q | xargs docker stop
docker ps -q | xargs docker rm
برای دریافت ترمینال تعاملی یک کانتینر
docker exec -it container_id_or_name /bin/bash
برای خروج از ترمینال کافی است Enter کنید exit
اینجا -it
مخفف حالت تعاملی است.
حجم داکر
آنها را به عنوان پوشه های خاصی در نظر بگیرید که می توانید از آنها برای ذخیره داده ها در خارج از ظرف خود استفاده کنید. این واقعاً مفید است زیرا به این معنی است که حتی اگر کانتینر شما حذف شود یا از کار بیفتد، داده های شما همچنان سالم و سالم خواهند بود.
مثال
docker run -p 27017:27017 -v atulDB:/data/db --name my-mongodb-container mongo:latest