Created
April 15, 2025 16:12
-
-
Save hataiit9x/eb83c84799ddcb3d92d6189407649c8d to your computer and use it in GitHub Desktop.
docker.sh
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
set -e | |
echo "🚮 Gỡ Docker và containerd cũ nếu có..." | |
sudo systemctl stop docker || true | |
sudo apt remove -y docker docker.io docker-engine containerd containerd.io runc || true | |
sudo apt purge -y docker docker.io docker-engine containerd containerd.io runc || true | |
sudo apt autoremove -y || true | |
echo "🔧 Bỏ mask Docker nếu có..." | |
sudo systemctl unmask docker.service || true | |
sudo systemctl unmask docker.socket || true | |
echo "📦 Cài Docker chính chủ..." | |
sudo apt update | |
sudo apt install -y ca-certificates curl gnupg lsb-release | |
sudo mkdir -p /etc/apt/keyrings | |
curl -fsSL https://download.docker.com/linux/$(. /etc/os-release && echo "$ID")/gpg \ | |
| sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
echo \ | |
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \ | |
https://download.docker.com/linux/$(. /etc/os-release && echo "$ID") \ | |
$(lsb_release -cs) stable" \ | |
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
sudo apt update | |
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin | |
echo "📂 Tạo thư mục /home/docker-data nếu chưa có..." | |
sudo mkdir -p /home/docker-data | |
sudo chown -R root:root /home/docker-data | |
echo "🛠️ Cấu hình Docker sử dụng /home/docker-data" | |
sudo mkdir -p /etc/docker | |
echo '{ | |
"data-root": "/home/docker-data" | |
}' | sudo tee /etc/docker/daemon.json | |
echo "⚙️ Override Docker service để tránh lỗi socket activation..." | |
sudo mkdir -p /etc/systemd/system/docker.service.d | |
cat <<EOF | sudo tee /etc/systemd/system/docker.service.d/override.conf > /dev/null | |
[Service] | |
ExecStart= | |
ExecStart=/usr/bin/dockerd --host=unix:///var/run/docker.sock --containerd=/run/containerd/containerd.sock | |
EOF | |
echo "🔄 Reload & khởi động Docker..." | |
sudo systemctl daemon-reexec | |
sudo systemctl daemon-reload | |
sudo systemctl disable docker.socket || true | |
sudo systemctl enable docker.service | |
sudo systemctl restart docker.service | |
echo "✅ Docker đã sẵn sàng:" | |
docker info | grep "Docker Root Dir" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment