Pycharm插件推薦:Docker integration
Pycharm插件推薦:Docker integration
插件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
COPY helloworld.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測試可以保證的一點是環境完全一致。
推薦閱讀: