VSCode自從2015年面世以來,經過6年多的發展,成為最流行的開發工具。根據Stackoverflow在2021年的統計, VSCode是目前最流行的開發工具,超過70%的開發者會使用VSCode,遠遠領先其他的開發工具:
在企業的開發中,如何讓眾多開發者保持一致的開發環境,減少業務上線時的故障和復雜性,有各種解決方案。其中容器解決方案是目前大家常用的一種方式。
這里將介紹在VSCode中的Visual Studio Code remote Development,它允許您使用容器、遠程計算機或適用於 Linux 的 Windows 子系統 (WSL) 作為開發環境。通過這個功能可以實現:
- 在統一的操作系統上進行開發,或者在更大、更專業的硬件上進行開發
- 本地環境和開發環境分離,避免因開發環境影響本地機器
- 讓新開發者更容易上手,並使每個開發者都處於一致的環境中
- 使用本地不支持的操作系統或運行環境,甚至可以在本地支持多個版本
- 在Windows中使用WSL實現Linux的開發環境
- 從多台機器或位置訪問現有的統一開發環境
- 調試在客戶站點或雲中運行的應用程序
我們這里介紹通過容器的方式實現開發環境的統一的方法。
一 創建Docker鏡像
本例子中創建一個帶有Flask的Python3.8環境的Docker Image,作為開發環境的模板。
1 編寫Dockerfile
創建一個無限循環的python程序,app.py:
import time while True: time.sleep(100) |
創建如下的Dockerfile,采用python的官方鏡像,安裝Flask包,再將app.py復制到工作目錄中,運行:
FROM python:3.8-slim RUN pip install Flask
WORKDIR /app ADD . /app
CMD ["python", "app.py"] |
2 build模板鏡像
運行docker build,創建名字為python-flask的鏡像:
docker build . -t python-flask |
二 在本機運行docker程序
在本機運行docker程序,采用的是剛剛創建好的鏡像。同時把docker的工作目錄,mount到本機的工作目錄上:
docker run -d --name vsc01 \ -v /mnt/c/newfolder:/root/newfolder \ python-flask |
可以看到運行中的容器:
三 通過VSCode連接到container中進行開發
1 安裝remote – container插件
在VSCode中,查找並安裝remote – container插件:
選擇Remote – Containers,點擊安裝:
安裝完成后,在VSCode的左下角出現一個綠色的按鈕:
2 連接到container中
在VSCode中,點擊左下角的綠色按鈕:
點擊attach to Running Container…
Attach到container以后,可以看到內部的文件系統:
3 調試程序
在VSCode中創建一個簡單的index.py的程序
from flask import Flask
app = Flask(__name__)
@app.route("/") def hello(): html = '<h1 style="color:DodgerBlue;"> Hello world!' + "</h1></br>" return html
if __name__ == "__main__": app.run(host='0.0.0.0', port=80) |
可以看到,在本機的C盤newfolder下創建了index.py程序:
為方便調試,在VSCode中安裝code runner:
安裝完成后,在右上角出現運行的按鈕:
點擊運行,出現提示,
可以看到代碼的實際效果:
四 總結
在VSCode中安裝Remote – Container插件,結合自己創建的統一容器鏡像,可以非常方便的實現統一的開發環境。