使用VS Code Dev Containers插件构建虚拟开发环境
创作时间:
作者:
@小白创作中心
使用VS Code Dev Containers插件构建虚拟开发环境
引用
CSDN
1.
https://m.blog.csdn.net/wangjunfeng1234/article/details/142496263
0. 需求说明
本文将介绍如何使用VS Code的Dev Containers插件构建一个隔离的开发环境。具体来说,我们将构建一个用于LLMs(Large Language Models)开发的环境。由于环境配置较为复杂,为了避免污染本地环境,我们选择使用Docker进行环境隔离。
1. 环境准备
- VS Code
- Docker
2. 步骤
2.1 安装VS Code插件
- Dev Containers
- Remote Development
2.2 创建.devcontainer配置文件
在项目根目录下创建一个名为.devcontainer
的文件夹,并在其中创建devcontainer.json
配置文件。
目录结构示例:
2.2.1 直接使用镜像构建环境
在devcontainer.json
中配置如下内容:
{
"name": "LLMs From Scratch",
"image": "llms-from-scratch:0.1",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-azuretools.vscode-docker",
"ms-toolsai.jupyter",
"yahyabatulu.vscode-markdown-alert",
"tomoki1207.pdf",
"mechatroner.rainbow-csv"
]
}
}
}
2.2.2 使用Dockerfile构建镜像
在devcontainer.json
中配置如下内容:
{
"name": "LLMs From Scratch",
"build": {
"context": "..",
"dockerfile": "Dockerfile"
},
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-azuretools.vscode-docker",
"ms-toolsai.jupyter",
"yahyabatulu.vscode-markdown-alert",
"tomoki1207.pdf",
"mechatroner.rainbow-csv"
]
}
}
}
同时,创建一个Dockerfile
文件,内容如下:
FROM pytorch/pytorch:2.0.1-cuda11.7-cudnn8-runtime
RUN apt-get update && \
apt-get upgrade -y && \
apt-get install -y rsync && \
apt-get install -y git && \
apt-get install -y curl && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
requirements.txt
文件内容如下:
torch >= 2.0.1
jupyterlab >= 4.0
tiktoken >= 0.5.1
matplotlib >= 3.7.1
tensorflow >= 2.15.0
tqdm >= 4.66.1
numpy >= 1.25, < 2.0
pandas >= 2.2.1
psutil >= 5.9.5
3. 启动环境
在VS Code中,可以通过以下方式启动Dev Container:
- 打开命令面板(快捷键:
Ctrl + Shift + P
或Cmd + Shift + P
) - 输入并选择:
Dev Containers: Rebuild and Reopen in Container
启动成功后,你将看到类似以下的界面:
4. 关闭环境
要关闭Dev Container环境,可以按照以下步骤操作:
- 打开VS Code菜单栏中的
File
选项 - 选择
Close Remote Connection
这样就可以安全地断开与Dev Container的连接了。
热门推荐
英语中的五个元音字母是什么?一文带你真正了解
未来航空,打开想象空间
轻断食实操手册:16:8与5:2的科学执行
斗罗大陆:昊天宗五大传承秘技详解,最后一种堪比神技,每代只传一人
PyTorch——从入门到精通:PyTorch简介与安装(最新版)
如何有效学习PyTorch:从基础到实践的全面指南
人工智能能否代替人类思考?
RAG-Gym:基于过程监督的检索增强生成代理优化框架
运动降血糖:强度方法决定了控糖质量,不合理会让血糖不降反升
养猫攻略:减少猫咪掉毛的五个小妙招
宝宝经常感冒?这些食物助增强抵抗力
用于金属铣削、雕刻和钻孔的业余数控铣床
牙龈退缩牙根暴露怎么办?全解析治疗方法与护理建议
深圳医保如何规范使用?这种规范使用有哪些具体要求?
开发商造房子用不用心,看卫生间就知道
APS助力企业:如何实现计划方案的精准优化?
漫威英雄的悲情传奇:初代白虎赫克托·阿亚拉的崛起与陨落
被追尾对变速箱会产生何种损害?如何判断变速箱是否受损?
追尾事故可能导致变速箱损坏,了解如何预防及应对
忽视食品配料表这几项,吃进肚子的可能都是隐患
民事二审败诉后的应对策略与法律途径
科技赋能艺术 探索儿童戏剧无限可能
髋关节置换康复计划
RTOS全面解析:从基础概念到实际应用
黑芝麻与白芝麻的营养对比:钙质、维生素E含量大不同
83平的简约风小户型,玄关、餐厅和厨房结合在一起
亮光砖VS柔光砖:家居装修地面铺装材料选择指南
老年患者占比上升、漏诊率高,结核病“早筛”堵点何在
戴隐形牙套10大忠告:记好这十个方面矫正之旅会更加顺利!
水量水质监测系统的构建与应用实践