借助 Visual Studio Code 将 Docker 容器用作开发环境实践

1,321 阅读2分钟

以下 vsc 代指 Visual Studio Code

安装 dockervsc

克隆项目到本地

  • 克隆项目到本地后用 vsc 打开
// 项目地址
git clone https://github.com/MicrosoftDocs/mslearn-python-products

安装 vsc 扩展 Remote - Containers

  • Ctrl + Shift + X ,打开扩展,搜索 Remote - Containers地址),点击安装 image.png

配置容器环境运行项目

  • F1 打开命令面板,输入 add dev container ,选择 Remote-Containers: Add Development Container Configuration Files ,回车后输入 Python3 ,然后做以下勾选: 3.8 -> none -> 确定

  • 之后项目会生成一个 .devcontainer 文件夹,其中包含 devcontainer.jsonDockerfile

  • 再次按 F1 打开命令面板,输入 reopen in container ,选择 Remote Containers: Reopen in Container

    注意需要打开一开始安装的 docker 才能进行,初次执行需要下载镜像,等待时间会比较久

  • 安装完成后会看到左下角 Dev Container: Python 3 image.png

  • 输入 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

  • 虽然可以通过 apt or apt-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 删除相关内容