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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章