本篇將介紹nvidia-docker2的安裝,以及通過pycharm這個ide來調用docker中鏡像的環境,可以讓你在外部使用docker中環境。(pycharm需要是專業版,可以百度下安裝方法,主要是激活pycharm需要找一陣可用的)
1.準備工作說明
安裝的nvidia-docker2屬於gpu版本,因而需要nvidia的顯卡及驅動,在鏡像中使用深度學習環境需要調用本機的cuda,所以使用前需要安裝好顯卡驅動及相應版本的cuda。
主要參考連接:
此連接爲關於docker安裝的文檔,可以參考該連接安裝docker-ce
此連接是關於nvidia-docker2的安裝
下面將詳細介紹關於他們的安裝(上面的中文翻譯+一些重要操作)
2.docker-ce安裝
使用存儲庫安裝,首次安裝Docker CE,需要設置Docker存儲庫。之後,纔可以從存儲庫安裝和更新Docker。
1.設置存儲庫
更新apt包所有
sudo apt-get update
使apt通過HTTPS使用存儲庫
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
添加Docker的官方GPG密鑰
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
設置穩定存儲庫
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
2.安裝DOCKER-CE
更新apt包
sudo apt-get update
安裝最新版本的Docker CE和containerd
sudo apt-get install docker-ce docker-ce-cli containerd.io
安裝特定版本的Docker CE,列出倉庫中可用的版本
apt-cache madison docker-ce
安裝指定版本:5:18.09.1~3-0 ~ubuntu-xenial
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
運行hello-world 鏡像驗證是否正確安裝了Docker CE
sudo docker run hello-world
此命令將下載測試映像並在容器中運行它,當容器運行時,它會打印一條信息性消息並退出。
3.以非root用戶身份運行docker
這一步使運行docker更方便,以及後面聯合使用pycharm時必須要這一步。
創建docker組
sudo groupadd docker
將您的用戶添加到該docker組,即將user換成你用戶
sudo usermod -aG docker $USER
註銷並重新登錄
驗證是否還需要sudo,運行下面代碼,會出現和之前一樣的結果,不會在提示permission denied
docker run hello-world
如果上面代碼出現下面的錯誤提示
WARNING: Error loading config file: /home/user/.docker/config.json
-stat /home/user/.docker/config.json: permission denied
解決這個問題,使用下面命令更改其所有權和權限
sudo chown "$USER":"$USER" /home/"$USER"/.docker -R
sudo chmod g+rwx "$HOME/.docker" -R
4.配置Docker以在啓動時啓動
啓用
sudo systemctl enable docker
禁用
sudo systemctl disable docker
5.安裝nvidia-docker2.0
安裝nvidia-docker2軟件包並重新加載Docker守護程序配置
sudo apt-get install nvidia-docker2
sudo pkill -SIGHUP dockerd
這裏驗證nvidia-docker是否安裝完成,可運行下面的命令,出現顯卡信息,表示安裝完成(由於下載比較緩慢,可以先按這裏配置阿里雲加速器,一步一步很詳細)
docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
將nvidia-docker運行時用docker替換,方便運行:
sudo gedit .bashrc
在這個文件中添加alias docker=nvidia-docker就可以了。
6.pycharm調用docker中的環境
打開pycharm:File/settings->project:…->project interpreter->複選框中選擇show all->點擊+出現下圖
點擊docker在選擇server->new->unix socket即可
其image name中就會出現你docker中的鏡像,選擇相應的鏡像則可使用相應的環境。
7.結語
整個過程比較簡單,可能會出現其他問題,可以給我發消息,之前也趟過很多坑,大部分問題都能解決。