以下 vsc 代指 Visual Studio Code
安装 docker 和 vsc
克隆项目到本地
- 克隆项目到本地后用 vsc 打开
// 项目地址
git clone https://github.com/MicrosoftDocs/mslearn-python-products
安装 vsc 扩展 Remote - Containers
- Ctrl + Shift + X ,打开扩展,搜索 Remote - Containers (地址),点击安装
配置容器环境运行项目
-
按 F1 打开命令面板,输入 add dev container ,选择 Remote-Containers: Add Development Container Configuration Files ,回车后输入 Python3 ,然后做以下勾选: 3.8 -> none -> 确定
-
之后项目会生成一个 .devcontainer 文件夹,其中包含 devcontainer.json 和 Dockerfile
-
再次按 F1 打开命令面板,输入 reopen in container ,选择 Remote Containers: Reopen in Container
注意需要打开一开始安装的 docker 才能进行,初次执行需要下载镜像,等待时间会比较久
-
安装完成后会看到左下角 Dev Container: Python 3
-
输入 ctrl + ` 打开终端,输入
python --version,会看到返回Python 3.8.12,说明 Python 安装成功 -
安装其他依赖
pip3 install --user -r requirements.txt -
安装完成后运行项目
python app.py -
浏览器打开
http://127.0.0.1:5000/,页面显示,配置成功~
一些优化
关于 .devcontainer/devcontainer.json
-
extensions 可以配置项目推荐使用的 vsc 扩展,此处用 扩展ID 指定扩展
-
postCreateCommand 可以配置任何指令,创建容器后会自动执行,如上面的
pip3 install --user -r requirements.txt就可以放在这里,免去手动执行 -
修改 devcontainer.json 需要重新创建容器才会生效,按 F1 打开命令面板,输入 rebuild ,选择 Remote-Containers: Rebuild Container
-
每当重建容器时,容器就会被移除并完全重新创建。重建容器时不会保留终端历史记录
关于 .devcontainer/Dockerfile
-
虽然可以通过
aptorapt-get来安装其他软件,但是重建容器后需要再次手动安装,所以更好的方法是通过 Dockerfile 来安装 -
安装 node ,在 Dockerfile 中添加如下代码后保存
RUN apt-get update \ && apt-get install -y curl ca-certificates \ && curl -sL https://deb.nodesource.com/setup_14.x | bash \ && apt-get install nodejs \ && node -v \ && npm -v \ -
按 F1 打开命令面板,输入 rebuild ,选择 Remote-Containers: Rebuild Container
删除容器
- vsc 顶部 文件 -> 关闭远程连接
- docker 删除相关内容