- 在pull完鏡像后,運行容器,并進行端口映射。
sudo docker run --runtime=nvidia -p 23:22(pycharm環(huán)境) -p 5009:6006(tensorboard) -p 9999:8888(jupyter) -it ufoym/deepo bash
在上文中,可以按需選取端口映射,并且要檢查在系統(tǒng)中是否已經(jīng)有人使用了這個端口。隨后進入docker鏡像,進入的方法在docker的使用中已寫,如下圖所示。
sudo docker exec -it containerID /bin/bash
例如:sudo docker exec -it 95bd815d9e /bin/bash,就可以在容器中搞事情了。
-
在apt-get update
源更新.png -
apt-get install openssh-server
openssh更新.png -
vim /etc/ssh/sshd_config
把PermitRootLogin prohibit-passwd 改為 PermitRootLogin yes
修改配置.png
用‘/PermitRootLogin’ 指令找到該行 退出編輯后輸入 passwd 命令修改密碼
(該密碼在后期選擇編譯器時會用到)Pycharm中創(chuàng)建項目
-
File->New project-> Pure Python -> 點開project interpreter
選擇遠端的服務(wù)器和遠程項目的位置(為了方便起見,此時項目文件夾應(yīng)該已經(jīng)用sudo docker cp的方式復(fù)制進去了)
創(chuàng)建空項目.png -
project setting->Project Interpreter
編譯器和路徑映射.png
點擊上圖中Path mapping右側(cè)的文件夾符號,會出現(xiàn)下圖配置好當(dāng)前文件夾和服務(wù)器上的文件夾位置。
路徑映射.png -
代碼同步工作
配置同步.png
可在后面選擇sftp服務(wù)器

上圖的紅框里有個坑,如果點擊了
autodetect會變成\root目錄,在后面Mapping中填入Deployment path會變成從root目錄下去找,如果代碼目錄是在root外面的話,則會出現(xiàn)找不到目錄的情況。
右擊項目,然后找到Deployment選項中的Download from

彩蛋
由于我是第一次進入容器,所以退出后,再通過restart命令重啟容器的時候,里面的ssh服務(wù)已經(jīng)關(guān)閉,需要通過指令sudo /etc/init.d/ssh start 進行重啟才能正常使用。
彩蛋2
發(fā)現(xiàn)已經(jīng)映射了本地和服務(wù)器上的文件,但是當(dāng)運行的時候確實跑的本地的代碼。那么這時候,是因為建立了太多的本地和服務(wù)器的映射,所以要刪掉一些編譯器的配置,而且只保留一個映射。
在此,可以在setting中刪掉當(dāng)前的編譯器,然后再新建編譯器時,會推薦使用在Deployment的sftp中配置好的環(huán)境,直接使用推薦的環(huán)境能夠解決這個問題。






