当前位置: 首页 > news >正文

在VsCode上使用开发容器devcontainer

概要

本文主要介绍了如何在 VsCode 中使用开发容器来确保项目的开发成员使用统一的开发环境。

过程

创建配置文件

在工程文件夹下创建 .devcontainer 文件夹,并在其中创建 devcontainer.jsonDockerfile 文件。

文件结构如下:

.devcontainer/
├── Dockerfile
└── devcontainer.json

其中,devcontainer.json 文件内容如下:

{"name": "Python Dev (3.12)","build": {"dockerfile": "Dockerfile","context": "..","options": ["--network=host"]},"settings": {"terminal.integrated.defaultProfile.linux": "bash","python.defaultInterpreterPath": "/usr/bin/python3"},"extensions": ["ms-python.python","ms-azuretools.vscode-docker"],"postCreateCommand": "uv sync","remoteUser": "root"
}

Dockerfile 是根据你需要定制的镜像描述文件,这里以一个简单的 python flask 工程举例:

# 使用 Ubuntu 24.04 作为基础镜像
FROM ubuntu:24.04# 安装依赖项
RUN sed -i 's@//.*archive.ubuntu.com@//mirrors.tuna.tsinghua.edu.cn@g' /etc/apt/sources.list.d/ubuntu.sources && \apt-get update && \apt-get install -y python3.12 python3.12-venv python3-pip curl git# 设置工作目录
WORKDIR /workspace

使用容器构建开发环境

要在 VsCode 中使用容器,你需要下载 "Dev Containers"插件。

在启动之前,你可以使用 podman/docker build 命令先构建一下镜像,确认 Dockerfile 没有问题:

cd .devcontainer
podman build -t container-test:latest .

安装完成后,使用 VsCode 打开工作文件夹,并按 F1Ctrl+Shift+P 打开命令面板,输入 reopen in container(或点击左下角的蓝色图标,并选择“在容器中重新打开”)。

随后,VsCode 将自动构建容器并启动,启动后的环境即为构建完成的容器。

http://www.lryc.cn/news/591821.html

相关文章:

  • windows内核研究(驱动开发 第一个驱动程序和调试环境搭建)
  • VSCODE常规设置
  • 删除百度同步空间桌面图标
  • Elasticsearch+Logstash+Filebeat+Kibana部署【7.1.1版本】
  • 全桥LLC 分立电感变压器计算
  • Docker实战:使用Docker部署IT工具箱Team·IDE
  • vuex的理解以及应用
  • Spring中事务失效的情况深度分析
  • 深入理解 SemaphoreSlim 在.NET Core API 开发中的应用
  • ROS1/Linux——Launch文件使用
  • 三、CV_VGGnet
  • 从零开始学 Linux 系统安全:基础防护与实战应用
  • git merge 和 git rebase 的区别
  • Python获取网页乱码问题终极解决方案 | Python爬虫编码处理指南
  • C++中,不能声明为虚函数的函数类型
  • Redis红锁中的看门狗机制
  • FreeRTOS—中断管理
  • Pytorch深度学习框架实战教程03:Tensor 的创建、属性、操作与转换详解
  • 网络安全基础操作2
  • 【初始Java】
  • C语言---动态内存管理
  • mingw 编译 assimp v6.0.2 解决编译报错
  • Vue3 + WebSocket
  • 云徙科技----一面(全栈开发)
  • 使用 docker 安装 openldap
  • 腾讯会议本地录屏转存失败解决办法
  • 【数据结构】链表(linked list)
  • BI Agent vs. 传统BI工具:衡石科技视角下的效率与智能跃迁
  • 算法讲解-移动零
  • properties中文乱码