76 lines
2.4 KiB
Batchfile
76 lines
2.4 KiB
Batchfile
@REM run image (alpine) as root user
|
||
wsl -d Alpine -u root
|
||
|
||
|
||
@REM wsl install docker cuda
|
||
# Update the package list and install dependencies
|
||
sudo apt update
|
||
sudo apt install -y ca-certificates curl gnupg lsb-release
|
||
|
||
# Add Docker’s official GPG key
|
||
sudo mkdir -p /etc/apt/keyrings
|
||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
|
||
|
||
# Set up the Docker repository
|
||
echo \
|
||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
|
||
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||
|
||
# Update the package list
|
||
sudo apt update
|
||
|
||
# Install Docker Engine
|
||
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||
|
||
# Start Docker
|
||
sudo service docker start
|
||
|
||
# Enable Docker to start at boot
|
||
sudo systemctl enable docker
|
||
|
||
# Allow Docker commands without sudo
|
||
sudo usermod -aG docker $USER
|
||
|
||
|
||
@REM Install WSL-Ubuntu Package for CUDA:
|
||
|
||
@REM Follow the instructions to install the CUDA toolkit specifically designed for WSL. Do not install the default CUDA toolkit that includes the drivers.
|
||
|
||
|
||
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
|
||
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
|
||
wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda-repo-wsl-ubuntu-12-2-local_12.2.0-1_amd64.deb
|
||
sudo dpkg -i cuda-repo-wsl-ubuntu-12-2-local_12.2.0-1_amd64.deb
|
||
sudo cp /var/cuda-repo-wsl-ubuntu-12-2-local/cuda-*-keyring.gpg /usr/share/keyrings/
|
||
sudo apt-get update
|
||
sudo apt-get install cuda
|
||
Install NVIDIA Container Toolkit:
|
||
|
||
@REM Set up the package repository and install the NVIDIA Container Toolkit:
|
||
|
||
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
|
||
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
|
||
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
|
||
|
||
sudo apt-get update
|
||
sudo apt-get install -y nvidia-docker2
|
||
|
||
|
||
# Create/update Docker daemon configuration
|
||
mkdir -p /etc/docker
|
||
echo '{
|
||
"runtimes": {
|
||
"nvidia": {
|
||
"path": "nvidia-container-runtime",
|
||
"runtimeArgs": []
|
||
}
|
||
}
|
||
}' > /etc/docker/daemon.json
|
||
|
||
|
||
sudo systemctl restart docker
|
||
|
||
|
||
@REM Run a test container to ensure everything is set up correctly:
|
||
|
||
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi |