Pycharm外掛推薦:Docker integration
這是崔斯特的第七十一篇原創文章
簡易Docker操作 (๑• . •๑)
外掛Docker
在設定-Plugins-BROWSE REPOSITORIES… 中搜索“Docker”
安裝即可,重啟使用
當然本地必須先安裝Docker,並且開啟Docker,而且需要加入使用者組
$ sudo groupadd docker && sudo usermod -aG docker $USER
之後就可以不加 sudo
執行Docker命令了
$ docker run hello-world
開啟之後就是這樣的
分別就是容器和映象,下面舉一個簡單的栗子,先去拉python的映象,然後執行 helloworld.py
檔案
FROM python COPYhelloworld.py /app/helloworld.py WORKDIR/app
在Dockerfile左邊有一個綠色按鈕,Run Dockerfile
helloworld.py
print 'hello world'
這裡會直接報錯,因為python3嘛,然後我們現在需要修復,可以先修改python檔案,再重新build,這裡介紹一種更簡單的方法。
右鍵點選構建好的容器,點選“Exec”,輸入 /bin/bash
進入shell
root@a8b31f52a720:/app# ls helloworld.py root@a8b31f52a720:/app# python helloworld.py File "helloworld.py", line 1 print 'hello world' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print('hello world')? root@a8b31f52a720:/app# python --version Python 3.7.1 root@a8b31f52a720:/app#
我們拉取的映象是Python3.7版本的,我想要直接在Pycharm中編輯PY檔案,並讓Docker直接同步檔案變化,可以使用下面這個功能:Volume Bindings
分別填上Docker中的目錄與本地所在目錄,一定要點選右下角的SAVE,稍等片刻,點選Volume Bindings 就可以看到關聯了。
其實這個功能就是Docker中的Volume,Docker 中可以通過 Volume 實現持久化儲存和資料共享。只不過這裡通過視覺化非常方便除錯。
還有其他功能,像設定環境變數、埠暴露等等,使用這個外掛就會比較容易處理。
其實我用的比較多的情況是爬蟲本地和線上有差距時就會來測試,有時候是發現某個依賴沒有裝,有時候則是網路問題。
Docker測試可以保證的一點是環境完全一致。