도커 (Docker) 설치 방법 및 자잘한 팁들
in Post on Post
Installation of Docker
차례대로 복붙 하시면 됩니다.
sudo apt-get update
sudo apt-get -y install apt-transport-https \\
ca-certificates curl gnupg lsb-release
curl -fsSL <https://download.docker.com/linux/ubuntu/gpg> | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \\
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] <https://download.docker.com/linux/ubuntu> \\
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo curl -L "<https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
sudo usermod -aG docker $USER
Downloading Docker Image
docker image의 환경 보는 곳: NVIDIA docker hub
원하는 image를 찾으면 터미널에서 pull 해줍니다.
Tip) docker image 고르는 방법
- 원하는 torch 버전에 해당하는 CUDA 버전을 pytorch version에서 찾는다.
- 그에 해당하는 CUDA버전으로 NVIDIA docker hub에서 image를 고른다
- 1에서 찾은 버전으로 설치한다. (어차피 image에는 torchaudio 없어서 다시 설치해야한다.)
docker pull nvcr.io/nvidia/pytorch:xx.xx-py3
ex) ver: 20.11
docker pull nvcr.io/nvidia/pytorch:20.11-py3
Running Docker
docker run -itd --ipc host --name <docker name> \\
-v <server path>:<docker path> -p <port>:<port> \\
--gpus all --restart=always nvcr.io/nvidia/pytorch:xx.xx-py3
docker exec -it <docker name> bash
ex)
docker run -itd --ipc host --name pytorch \\
-v /sd0/sb_kim/code:/workspace/sb/code \\
-v /hd0/sb_kim/datasets:/workspace/sb/datasets \\
-p 3333-3336:3333-3336 --gpus all \\
--restart=always nvcr.io/nvidia/pytorch:20.10-py3
docker exec -it pytorch bash
혹시 아래와 같은 에러가 뜬다면 추가적으로 설치
docker: Error response from daemon: could not select device driver “” with capabilities: [[gpu]].
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
sudo systemctl restart docker
+@ tmux 설치
apt-get update
apt-get install tmux
Run Docker without ‘sudo’
sudo groupadd docker
sudo usermod -aG docker $USER
sudo chmod 666 /var/run/docker.sock
sudo service docker restart
Docker Image 옮기기
docker commit [컨테이너 이름] [새로 저장할 이미지 이름]
docker save [새로 저장한 이미지 이름] > [파일명].tar
scp [파일명].tar [타겟서버 계정명]@[타겟서버 IP]:[파일 저장할 위치]
타겟 서버로 넘어가서
docker load -i [파일명].tar
Docker Volume 혹은 Port 추가하기
docker stop [컨테이너 이름]
docker commit [컨테이너 이름] [새로운 Image 이름]
docker run -itd --ipc host --name [새 도커 이름] -v [volume] -p [port] --gpus_all --restart=always [새로운 Image 이름]