一、Pycharm創建Docker客戶端
二、修改Docker客戶端配置
在pycharm底部點這個打開配置
填寫Docker服務端,的IP地址及端口(tcp:// 不能少)
上面這個配置完後,下面會出現 connected successfully,說明配置成功。
如果配置失敗,有幾種情況:
一、 你當前主機環境 無法 ping 通 Docker所在服務器(雲服務器、防火牆、的端口沒放通)
二、 Docker未做 IP配置
如何配置參考下面鏈接的解決方案即可配置成功。
https://segmentfault.com/q/1010000020042977
配置完成後,記得重啓 Docker服務
三、Pycharm sftp向Docker所在主機上傳代碼
連接測試成功後, 不要點OK, 選最上面的 Mappings項,繼續配置
上面配置完後,點OK,然後開始上傳
四、創建Docker裏的Python解釋器
ctrl+alt+s打開配置, 然後按下圖操作添加解釋器
五、給腳本指定解釋器 及 相關配置
下面其他都是默認配好的, 主要配置下面紅框部分的 2 處內容
切記: 上面的第一個紅框: Path mappings項 必須配,不然就會出現下圖的錯誤
這個錯誤,stack, github都沒找到解決辦法。 (明明已經是絕對路徑了,還是讓你提供絕對路徑)
後來無奈之下,隨手把 Path mappings 這項映射配了。 居然就成功了。。。。。!!
六、最後直接執行本地python文件即可
就是我們平時在pycharm正常寫代碼的執行操作。。。
總結 + 解惑
總結
- 我們創建了Docker客戶端,並修改了相關配置
- sftp上傳代碼(我們映射部分,填的是路徑, 它會自動把該路徑下的文件上傳到雲服務器)
- 創建python解釋器,並做出詳細配置(各種映射)
疑惑解析:
- 爲啥修改代碼保存一次,遠程服務器也會同步自動修改?????????
因爲我們在sftp的時候,mapppings選項中 配置了客戶端和雲服務器的代碼目錄 映射。
並且,我們在第一次同步代碼的時候勾選了,自動同步選項 (Automatic upload) -
爲啥可以操作遠程的Docker裏面的python解釋器??????
首先我們創建了 docker 的客戶端。並做出了 連接遠程服務器的配置。
基於上述條件,我們在建解釋器時做了如下操作:- 選定雲服務器的Docker,
- 選定Docker中的鏡像
- 選定Docker中的鏡像中的python解釋器
- python鏡像是Docker(內部),爲什麼我們可以直接訪問雲服務器(外部)來達到需求 ??????
因爲我們在配置解釋器的時候, 配置了數據卷映射(第 五 章截圖內Docker Container settings項)
當然這屬於Docker數據卷(volume)知識點範疇。
Docker數據卷教程參考鏈接:https://segmentfault.com/a/11...