tutorials
docker
GPU
NVIDIA
linux
ubuntu
deep learning
cuda
AI
$ sudo apt-get -y remove docker docker-engine docker.io && sudo apt-get -y update
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && sudo apt-get -y update
$ sudo apt-get -y install docker-ce={docker-version}
$ apt-cache madison docker-ce
查看 docker 版本$ sudo docker run hello-world
測試有沒有裝成功{docker-version}
為特定的版本號,像是如果上面執行 $ apt-cache madison docker-ce
所看到的版本列表可能如下
docker-ce | 5:20.10.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:20.10.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:20.10.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.14~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.13~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.12~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.11~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.10~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.9~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:19.03.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.9~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.8~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.7~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.6~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.5~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.4~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.3~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.2~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.1~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 5:18.09.0~3-0~ubuntu-bionic | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.3~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.2~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.06.0~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
docker-ce | 18.03.1~ce~3-0~ubuntu | https://download.docker.com/linux/ubuntu bionic/stable amd64 Packages
如果要安裝 20.10.2
版(第一行的版本),則執行 $ sudo apt-get -y install docker-ce=5:20.10.2~3-0~ubuntu-bionic
安裝最新版本(即第一行版本) docker
$ sudo apt-get -y update && docker_version=$(apt-cache madison docker-ce | grep -m1 "ubuntu") && docker_version=${docker_version#*|} && docker_version=${docker_version%|*} && docker_version=${docker_version//+([[:space:]])/} && sudo apt-get -y install docker-ce=$docker_version
$ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - && distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && 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 -y update
sudo
執行$ sudo groupadd docker; sudo usermod -aG docker $USER
設定完後需重新登入
nvidia-docker2
及重新載入 Docker daemon configuration
$ sudo apt-get -y install nvidia-docker2
$ sudo pkill -SIGHUP dockerd
nvidia-cuda-docker
測試$ docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
nvidia/cuda
可能要需要指定版本,像是 docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi
就是用 cuda9
測試nvidia-smi
會無法執行,但仍可正常安裝
nvidia-docker
版本必須要和 docker-ce
版本配合,否則會有錯誤
NVIDIA Container Toolkit
$ sudo apt-get -y install nvidia-container-toolkit && sudo systemctl restart docker
nvidia-cuda-docker
測試$ docker run --gpus all nvidia/cuda nvidia-smi
如果系統安裝的 cuda 版本不是最新的,nvidia/cuda
可能要需要指定版本,像是 docker run --gpus all nvidia/cuda:9.0-base nvidia-smi
就是用 cuda9
測試
nvidia-smi
會無法執行,但仍可正常安裝
-v: verbose 模式,輸出比較詳細的訊息。
May 8, 2025介紹 screen 就是可以開啟一個在內部背景執行的新 shell 的指令,即使關閉 screen 外部 shell (main shell),screen 所開啟的內部 shell 只要是 detach 狀態,就仍會繼續在背景執行,也就是即使今天在電腦 A 連線 server,並以 screen 開啟一個 screen shell,只要電腦 A 連線 server detach 該 screen 後,到電腦 B 也可以連線至 server attach 該 screen shell 另一個好處就是,如果今天 docker container 是 execute 在 screen shell 內,如果進入不能 detach container(像是 machine learning 的 training),甚至是遇到 windows 的「善意」(自動更新並重新啟動電腦) 的時候,可以 detach screen shell,並在別的 shell re-attach 而當你要處理多種類多任務時,也建議依種類開啟多 screen 之後再各種類的 screen 內部再多開多任務的 shell 舉例來說,如果今天有需要安裝套件、建立 docker、執行影像辨識還有物件偵測的多種類任務,而其中要建立 2 個 docker image(多任務)和有 3 種關於影像辨識的測試就會像以下圖示 digraph screen {
May 25, 2022Flow Re-install flow OS setting Network setting Upgrade OS ~/.bashrc
Jun 6, 2021Run container $ docker run -it -p 5566:6006 -p 7788:8888 -d docker_image -p 5566:6006: 將 container 內部的 6006 port 連到外部系統的 5566 port :::info tensorboard 預設 port 為 6006 ::: -p 7788:8888: 將 container 內部的 8888 port 連到外部系統的 7788 port :::info jupter 預設 port 為 8888
May 21, 2021or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up