DockerCheatSheet

🐋 Docker Cheat Sheet 🐋

View the Project on GitHub eon01/DockerCheatSheet

This repository is trending on Github since some days now. Watch it, we will add many updates in the future. Thank you for your support.

[وب سایت](http://dockercheatsheet.painlessdocker.com) در [ویرگول](https://virgool.io/@elias_rohani/%D8%A8%D8%B1%DA%AF%D9%87-%D8%AA%D9%82%D9%84%D8%A8-%D8%AF%D8%A7%DA%A9%D8%B1-jiquimzzpqmq) بخوانید # فهرست [استفاده از کانتینرها]() [اجرا و متوفق کردن کانتینرها]() [کسب اطلاعات در کانتینرها]() [شبکه]() [پاکسازی داکر]() [داکر Swarm]() ## لاگین کردن
``` docker login docker login localhost:8080 ```
## خارج شدن
``` docker logout docker logout localhost:8080 ```
## جستجو کردن
``` docker search nginx docker search --filter stars=3 --no-trunc nginx ```
## چنگان زدن (یا همان دانلود کردن)
``` docker image pull nginx docker image pull eon01/nginx localhost:5000/myadmin/nginx ```
## بارگذاری کردن
``` docker image push eon01/nginx docker image push eon01/nginx localhost:5000/myadmin/nginx ```
## اولین اقدامات با کانتینرها **ساخت و اجرا کانتینر** **اجرا کردن شبیه ساز** **برقراری ارتباط از پورت ۸۰ کانتینر به پورت ۳۰۰۰ هاست** **مونت کردن دایرکتوری جاری در دایکتوری data/ داخل کانتینر** **در ویندوز این تغییرات را باید ایجاد کنید**
``` -v ${PWD}:/data به > -v "C:\Data":/data docker container run --name infinite -it -p 3000:80 -v ${PWD}:/data ubuntu:latest ```
## ساخت کانتینر
``` docker container create -t -i eon01/infinite --name infinite ```
## اجرای کانتینر
``` docker container run -it --name infinite -d eon01/infinite ```
## طرز استفاده از کانتینر
``` docker container rename infinite infinity ```
## حذف کانتینر
``` docker container rm infinite ```
## اپدیت کردن کانتینر
``` docker container update --cpu-shares 512 -m 300M infinite ```
## اجرا و متوقف کردن کانتینر **اجرا**
``` docker container start nginx ```
## متوقف
``` docker container stop nginx ```
## اندازه
``` docker container restart nginx ```
## نگه داشتن (نگه داشتن پروسه های کانتینر)
``` docker container pause nginx ```
## برداشتن
``` docker container unpause nginx ```
## قفل کردن(تا زمان متوقف شدن)
``` docker container wait nginx ```
## فرستادن سیگنال بسته شدن
``` docker container kill nginx ```
## فرستادن سیگنال های دیگر
``` docker container kill -s HUP nginx ```
## متصل شدن به کانتینر موجود
``` docker container attach nginx ```
## گرفتن اطلاعات درباره کانتینرها **کانتینر های فعال**
``` docker container ls docker container ls -a ```
## لاگ‌های کانتینر
``` docker logs infinite ```
## نمایش لاگ به صورت انلاین
``` docker container logs infinite -f ```
## اطلاعات درباره کانتینر
``` docker container inspect infinite docker container inspect --format '' $(docker ps -q) ```
## اتفاقات کانتینر
``` docker system events infinite ```
## پورت باز
``` docker container port infinite ```
## پروسه های که درحال انجام است
``` docker container top infinite ```
## منابع استفاده شده
``` docker container stats infinite ```
## ایجاد تغییرات در فایل‌ها و دایرکتوری ها سیستم در کانتینر
``` docker container diff infinite ```
## لیست ایمیج ها
``` docker image ls ```
## ساخت ایمیج
``` docker build . docker build github.com/creack/docker-firefox docker build - < Dockerfile docker build - < context.tar.gz docker build -t eon/infinite . docker build -f myOtherDockerfile . curl example.com/remote/Dockerfile | docker build -f - . ```
## پاک کردن ایمیج
``` docker image rm nginx ```
## دانلود وابستگی ها به فایل ارشیو
``` docker image load < ubuntu.tar.gz docker image load --input ubuntu.tar ```
## ذخیره داده ها در ارشیو
``` docker image save busybox > ubuntu.tar ```
## دیدن تاریخچه ایمیج
``` docker image history ```
## ایجاد ایمیج از کانتینر
``` docker container commit nginx ```
## تک زدن به ایمیج
``` docker image tag nginx eon01/nginx ```
## بارگذاری
``` docker image push eon01/nginx ```
## شبکه
``` docker network create -d overlay MyOverlayNetwork docker network create -d bridge MyBridgeNetwork docker network create -d overlay \ --subnet=192.168.0.0/16 \ --subnet=192.170.0.0/16 \ --gateway=192.168.0.100 \ --gateway=192.170.0.100 \ --ip-range=192.168.1.0/24 \ --aux-address="my-router=192.168.1.5" --aux-address="my-switch=192.168.1.6" \ --aux-address="my-printer=192.170.1.5" --aux-address="my-nas=192.170.1.6" \MyOverlayNetwork ```
## حذف شبکه
``` docker network rm MyOverlayNetwork ```
## لیست شبکه ها
``` docker network ls ```
## گرفتن اطلاعات از شبکه
``` docker network inspect MyOverlayNetwork ```
## متصل کردن کانتینر فعال به شبکه
``` docker network connect MyOverlayNetwork nginx ```
## متصل کردن کانتینر به شبکه در زمان اجرا
``` docker container run -it -d --network=MyOverlayNetwork nginx ```
## قطع کردن اتصال از کانتینر
``` docker network disconnect MyOverlayNetwork nginx ```
## به نمایش گذاشتن پورت ها **با استفاده از Dockerfile می‌توانید پورت را به نمایش در اورید**
``` EXPOSE ```
**همچنین می‌توانید پورت های کانتینر را برروی پورت های هاست به نمایش دراورید**
``` docker run -p $HOST_PORT:$CONTAINER_PORT --name infinite -t infinite ```
## پاک کردن کانتینر فعال
``` docker container rm nginx ```
## حذف کردن کانتینر و volume
``` docker container rm -v nginx ```
## حذف کردن کانتینر با وضعیت خروج
``` docker container rm $(docker container ls -a -f status=exited -q) ```
## پاک کردن تمامی کانتینرهای مانده
``` docker container rm `docker container ls -a -q` ```
## حذف کردن ایمیج
``` docker image rm nginx ```
## پاک کردن dangling استفاده نشده
``` docker image rm $(docker image ls -f dangling=true -q) ```
## پاک‌کردن تمامی ایمیج ها
``` docker image rm $(docker image ls -a -q) ```
## پاک‌کردن تمامی ایمیج ها بدون تگ
``` docker image rm -f $(docker image ls | grep "^" | awk "{print $3}") ```
## متوقف کردن و پاک کردن تمامی کانتینرها
``` docker container stop $(docker container ls -a -q) && docker container rm $(docker container ls -a -q) ```
## پاک کردن dangling استفاده نشده (volume)
``` docker volume rm $(docker volume ls -f dangling=true -q) ```
## پاکسازی تمامی کانتینرها،ایمیج‌ها،شبکه‌ها و volume استفاده نشده
``` docker system prune -f ```
## پاکسازی کامل
``` docker system prune -a Docker Swarm ```
## نصب دارکرSwarm
``` curl -ssl https://get.docker.com | bash ```
## مقدمات برای بارگذاری
``` docker swarm init --advertise-addr 192.168.10.1 ```
## اتصال به گره کنترل
``` docker swarm join-token manager ```
## لیست سرویس ها
``` docker service ls ```
## لیست گره ها
``` docker node ls ```
## ایجاد سرویس
``` docker service create --name vote -p 8080:80 instavote/vote ```
## لیست کارها
``` docker service ps ```
## خدمات
``` docker service scale vote=3 ```
## اپدیت کردن سرویس ها
``` docker service update --image instavote/vote:movies vote docker service update --force --update-parallelism 1 --update-delay 30s nginx docker service update --update-parallelism 5--update-delay 2s --image instavote/vote:indent vote docker service update --limit-cpu 2 nginx docker service update --replicas=5 nginxf ```
در [ویرگول](https://virgool.io/@elias_rohani/%D8%A8%D8%B1%DA%AF%D9%87-%D8%AA%D9%82%D9%84%D8%A8-%D8%AF%D8%A7%DA%A9%D8%B1-jiquimzzpqmq) بخوانید