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測試可以保證的一點是環境完全一致。


推薦閱讀:

TAG:Docker | PyCharm | 程序員 |