在VsCode上使用开发容器devcontainer

概要

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

过程

创建配置文件

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

文件结构如下:

shell 复制代码
.devcontainer/
├── Dockerfile
└── devcontainer.json

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

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 工程举例:

shell 复制代码
# 使用 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 没有问题:

shell 复制代码
cd .devcontainer
podman build -t container-test:latest .

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

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

相关推荐
2501_915909065 天前
移动端开发工具链怎么组合比较好,iOS、Android、跨端三套配置方案
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
weixin_464078075 天前
ppt转为draw.io方法
编辑器
sunoo-2295 天前
【ARM嵌入式学习笔记Day6】一文打通i.MX6ULL时钟体系:PLL/PFD/预分频+滞回比较器全解析
arm开发·笔记·vscode·单片机·imx6ull·汇编语言
明天…ling5 天前
gitee与vscode远程连接
vscode·gitee
2501_915918416 天前
iOS编程用什么软件好?主流工具Xcode、AppCode、CodeRunner与新兴快蝎对比
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
__pop_6 天前
VSCode Remote SSH 远程连接 glibc 高版本依赖问题
vscode
daxiangxm6 天前
【趣味休息】“围住小猫在线玩”-“困住小猫”,又回来了
数据结构·人工智能·vscode·github·php
星光开发者6 天前
基于Spring Boot的充电桩管理系统的设计与实现-计算机毕设【课程设计】57105
vue.js·spring boot·vscode·mysql·django·php·express
程序员允诺7 天前
内网/无网环境必备:VS Code Remote-SSH 离线包下载与手动部署教程
vscode
滕州市燕猫虎计算机科技工作室个体工商户7 天前
IDEA:Command line is too long
java·ide·intellij-idea