Download scripts/host_install_docker.sh from kimjunhan/vkgs-sim: direct link, hf CLI and curl.
- Browser
- Download file 4.29 kB
-
https://huggingface.co/kimjunhan/vkgs-sim/resolve/main/scripts/host_install_docker.sh
- Command line
-
hf download hf://kimjunhan/vkgs-sim/scripts/host_install_docker.sh
-
curl -L -o host_install_docker.sh https://huggingface.co/kimjunhan/vkgs-sim/resolve/main/scripts/host_install_docker.sh
4.29 kB
| # ํธ์คํธ์ Docker Engine + NVIDIA Container Toolkit ์ค์น. | |
| # sudo ๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌผ์ด๋ณด๋ฏ๋ก ๋ฐ๋์ ์ฌ์ฉ์๊ฐ ์ง์ ์คํํด์ผ ํฉ๋๋ค. | |
| # Claude Code ํ๋กฌํํธ์์: ! bash scripts/host_install_docker.sh | |
| set -euo pipefail | |
| say() { printf '\n\033[1;36m==> %s\033[0m\n' "$*"; } | |
| ok() { printf '\033[1;32m โ %s\033[0m\n' "$*"; } | |
| warn() { printf '\033[1;33m ! %s\033[0m\n' "$*"; } | |
| die() { printf '\033[1;31m โ %s\033[0m\n' "$*" >&2; exit 1; } | |
| [[ $EUID -eq 0 ]] && die "root๋ก ์ง์ ์คํํ์ง ๋ง์ธ์. ์ผ๋ฐ ์ฌ์ฉ์๋ก ์คํํ๋ฉด sudo๋ฅผ ์์์ ์๋๋ค." | |
| . /etc/os-release | |
| say "ํธ์คํธ: $PRETTY_NAME ($VERSION_CODENAME / $(dpkg --print-architecture))" | |
| [[ "$ID" == "ubuntu" ]] || warn "Ubuntu๊ฐ ์๋๋๋ค โ ์ด ์คํฌ๋ฆฝํธ๋ Ubuntu ๊ธฐ์ค์ ๋๋ค." | |
| command -v nvidia-smi >/dev/null || die "nvidia-smi ๊ฐ ์์ต๋๋ค. NVIDIA ๋๋ผ์ด๋ฒ๋ถํฐ ์ค์นํ์ธ์." | |
| ok "$(nvidia-smi --query-gpu=name,driver_version --format=csv,noheader | head -1)" | |
| say "sudo ๊ถํ ํ์ธ (๋น๋ฐ๋ฒํธ๋ฅผ ๋ฌผ์ด๋ณผ ์ ์์ต๋๋ค)" | |
| sudo -v || die "sudo ์คํจ" | |
| # ์ค์น๊ฐ ๊ธธ์ด์ง๋ ๋์ sudo ํ์์์ ๋ฐฉ์ง | |
| while true; do sudo -n true; sleep 50; kill -0 "$$" 2>/dev/null || exit; done 2>/dev/null & | |
| SUDO_KEEPALIVE=$! | |
| trap 'kill $SUDO_KEEPALIVE 2>/dev/null || true' EXIT | |
| # ---------------------------------------------------------------- 1. Docker | |
| if command -v docker >/dev/null && docker --version >/dev/null 2>&1; then | |
| ok "Docker ์ด๋ฏธ ์ค์น๋จ: $(docker --version)" | |
| else | |
| say "1/3 Docker Engine ์ค์น" | |
| for p in docker.io docker-doc docker-compose podman-docker containerd runc; do | |
| sudo apt-get remove -y "$p" >/dev/null 2>&1 || true | |
| done | |
| sudo apt-get update -qq | |
| sudo apt-get install -y -qq ca-certificates curl gnupg | |
| sudo install -m 0755 -d /etc/apt/keyrings | |
| curl -fsSL https://download.docker.com/linux/ubuntu/gpg \ | |
| | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg | |
| sudo chmod a+r /etc/apt/keyrings/docker.gpg | |
| echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $VERSION_CODENAME stable" \ | |
| | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
| sudo apt-get update -qq | |
| sudo apt-get install -y docker-ce docker-ce-cli containerd.io \ | |
| docker-buildx-plugin docker-compose-plugin | |
| ok "์ค์น๋จ: $(docker --version)" | |
| fi | |
| say "Docker ๋์ ํ์ธ (hello-world)" | |
| sudo docker run --rm hello-world >/dev/null && ok "Docker ๋ฐํ์ ์ ์" | |
| # ------------------------------------------------- 2. NVIDIA Container Toolkit | |
| if command -v nvidia-ctk >/dev/null; then | |
| ok "nvidia-container-toolkit ์ด๋ฏธ ์ค์น๋จ: $(nvidia-ctk --version | head -1)" | |
| else | |
| say "2/3 NVIDIA Container Toolkit ์ค์น" | |
| curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey \ | |
| | sudo gpg --dearmor --yes -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg | |
| curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list \ | |
| | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' \ | |
| | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list > /dev/null | |
| sudo apt-get update -qq | |
| sudo apt-get install -y nvidia-container-toolkit | |
| fi | |
| say "docker ๋ฐ๋ชฌ์ nvidia ๋ฐํ์ ๋ฑ๋ก" | |
| sudo nvidia-ctk runtime configure --runtime=docker | |
| sudo systemctl restart docker | |
| sleep 3 | |
| say "GPU ํจ์ค์ค๋ฃจ ํ์ธ" | |
| sudo docker run --rm --gpus all nvidia/cuda:12.1.1-base-ubuntu22.04 nvidia-smi \ | |
| | sed -n '1,12p' && ok "์ปจํ ์ด๋์์ GPU ๋ณด์" | |
| # --------------------------------------------------------- 3. docker ๊ทธ๋ฃน | |
| say "3/3 $USER ๋ฅผ docker ๊ทธ๋ฃน์ ์ถ๊ฐ" | |
| if id -nG "$USER" | tr ' ' '\n' | grep -qx docker; then | |
| ok "์ด๋ฏธ docker ๊ทธ๋ฃน ์์" | |
| else | |
| sudo usermod -aG docker "$USER" | |
| warn "๊ทธ๋ฃน ๋ณ๊ฒฝ์ '์ฌ๋ก๊ทธ์ธ' ํ์ ์ ์ฉ๋ฉ๋๋ค." | |
| warn "๊ทธ๋๊น์ง ์ด ํ๋ก์ ํธ ์คํฌ๋ฆฝํธ๋ค์ ์๋์ผ๋ก 'sudo docker' ๋ก ํด๋ฐฑํฉ๋๋ค." | |
| fi | |
| say "์๋ฃ" | |
| cat <<'MSG' | |
| ๋ค์ ๋จ๊ณ: | |
| bash scripts/build.sh # ๊ฐ๋ฐ ์ด๋ฏธ์ง ๋น๋ | |
| bash scripts/run.sh # ์ปจํ ์ด๋ ๊ธฐ๋ | |
| bash scripts/shell.sh # ์ ธ ์ง์ | |
| MSG | |