在伺服器的docker里 裝anacond3深度學習環境的全流程超基礎
背景: 實驗室給我分配了一個伺服器 已經裝好了docker 和nvidi docker 。 現在我的目標是創建我自己的docker 然後在我自己的docker里裝上anaconda環境。 我以前從沒用過linux。所以對這一切都是迷迷茫茫不知其所以然。所以一些拙見還請不要見笑。也是整合了很多大佬的。(我是掛了VPN的,所以沒有用過中國鏡像,如果你發現哪裡下不動東西了 可以搜搜怎麼加入中國鏡像源)
我的理解 docker 就是一個作業系統的模板。然後在伺服器輸入
可以看到很多鏡像 這些鏡像就是一個又一個的模板。然後你可以使用這些模板創建自己的作業系統。使用
可以看到正在運行的容器 。什麼叫做容器 ,就是根據模板(鏡像)創建的一個作業系統,不同的容器之間互不干擾罷了。
使用docker run命令可以啟用一個容器
之後你所有的操作就相當於在你自己的電腦里玩了 。
等等,我們還沒有創建自己的docker呢。
創建流程很長 這裡有b站小姐姐做的一個影片可以參考。
我們做的就是取hub.docker.com這個網站上 找到自己喜歡的docker版本。docker版本其實就是別人寫好的一些模板,跟ppt模板一樣,我們先下下來然後自己修修改改變成自己的模板。模板有各個方向的 ,我們深度學習肯定要挑關於cuda的。點explore 搜nvidia 進入nvidia/cuda 在tag搜索自己的cuda版本 我用的是11.0-cudnn8 - runtime - ubu16.04 下圖只是示例
複製後面那個pull到伺服器窗口 就可以創建一個 docker了 。有dockers就可以啟動什麼的了 。
進入我們自己的docker 看看各個文件夾,發現啥也沒有 因為是我們自己的新電腦嘛。我們就要開始裝anaconda3了 。
啟用容器
進行基礎的網路安裝: ping config
然後就是裝conda了 取conda官網找自己喜歡的安裝包
我選的是
所以輸入命令 (先安裝wget)
安裝解壓程式
找到自己的anacnoda安裝包位置 好像在home里 要不然就是root里??
然後輸入命令
回車,一直yes 不過vscode可裝可不裝 自己看著辦
然後輸入conda -V 看看是不是顯示
說明沒配置好環境變數 找到你的安裝目錄 。把安裝目錄下的conda所在文件夾 放到環境變數去。
比如我的conda在home里 就是下面這句命令啦
保存後再來 成啦! 說明conda安裝成功了 而且設置好了環境變數 。
刪除自己的conda安裝包:
然後配置自己的環境
先創建一個 li_3_8是我自己的環境名字
激活創建的環境
看到本來是root 前面帶了li_3_8 說明我們在這個環境里了
去torch官網找適配自己cuda版本的torch
我的是上面這個版本 輸入 回車
這一步比較慢 我這篇文章都快寫完了 torch還是沒裝完。
可以搜搜換源的方法,把源換成中國源 什麼清華源什麼的 我懶得換了 去吃個飯 正好等等他。
安裝好torch了 其他的都類似。
安裝好環境 我們考慮將容器固化 我們知道模板才是永久的 容器停了就沒了 所以將容器變成模板 以後用這個帶環境的模板就好
ctrl +d 退出容器
然後 docker ps -a 看容器列表
可以得到新的模板docker
如果你想繼續用剛才那個退出的容器 就
至此 環境安裝完畢。 後面是如何在PYcharm連接這個容器 使用此容器的環境。,
1 啟動容器 使用伺服器的22埠 如果你剛才也用的下面這句啟動的容器 就不用新建容器啦 start attach 進入容器即可。 主要是埠設置 (如果沒設置埠 使用我們剛才固化的那個鏡像 新建容器 )
2 更新apt 安裝ssh 和vim
3 用vim打開配置文件並修改
4 創建用戶密碼
之後會讓兩次輸入密碼 與windows不同的是 輸入密碼是看不到的 心中有數就行
5 :啟動ssh
到這裡 伺服器端配置完啦 。
點開我們的 pycharm 工具 部署配置
點三個點
輸入剛才對應埠 10789
和剛才的密碼
修改映射路徑 就是你本地文件要上傳伺服器 上傳到哪裡呢 ? 就是部署路徑里
萬事具備 只欠解釋器
點到解釋器設置
ssh解釋器 現有
連接好後下一個
點文件 找到conda/envs/環境名/bin 里的 python文件 選中 確定
解釋器選這個新的解釋器 確定
在剛才的 工具 部署配置里 選中你的 伺服器 點那個對號
點工具 部署 上傳
新建一個test
輸入
部署 上傳 (注意本地改變後就要上傳 也可以自動上傳)
運行得到結果!!!!!!!
全劇終 至此完成了 在伺服器新建docker 並裝環境形成鏡像 並用pycharm連接的全過程
參考文獻:






















