۱. حذف نسخههای غیررسمی
for p in docker.io docker-compose podman-docker containerd runc; do sudo apt remove -y $p 2>/dev/null; done۲. مخزن رسمی
sudo apt update
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
. /etc/os-release
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $VERSION_CODENAME stable" \
| sudo tee /etc/apt/sources.list.d/docker.list۳. نصب
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run --rm hello-world۴. تنظیمات daemon
لاگ کانتینرها بهطور پیشفرض بدون محدودیت رشد میکند و میتواند دیسک را پر کند:
sudo nano /etc/docker/daemon.json{
"log-driver": "local",
"log-opts": { "max-size": "20m", "max-file": "5" },
"live-restore": true
}live-restore باعث میشود با ریاستارت سرویس Docker (مثلاً هنگام بهروزرسانی)، کانتینرها متوقف نشوند.
sudo systemctl restart docker
docker info | grep -E 'Logging Driver|Live Restore'۵. فایروال
پورتهایی که با -p منتشر میشوند، مستقیم در nftables باز میشوند و قوانین فایروال شما را دور میزنند. سرویسهای داخلی را فقط روی localhost منتشر کنید: -p 127.0.0.1:8080:80.