使用Vscode结合docker进行开发的详细过程

前言

使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程。在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准。

大型项目的团队首先必须确保安装依赖、内核版本这些开发环境是统一的。为了解决开发环境一致性的问题,常规传统的办法就是制定开发人员遵循制定指南,但是尽管如此实际开发过程还是会遇到各种障碍。

设置环境的常规方法如下图所示:

另一种解决方案是使用所有必需的库和依赖项预先配置的开发环境,开发人员可以在容器中分拆这些库和依赖项。然后,开发人员可以在容器提供的隔离环境中工作。这极大地减少了开发人员在克隆代码库以开始处理它之间花费的时间。

除了为所有开发人员提供相同的环境之外,我们可以利用它来自动安装您的项目所需的特定扩展。这可以避免工具的不一致使用,并且省去开发人员手动安装的麻烦。

以下是通过结合使用 Docker 和 VS Code 的Remote — Containers扩展来实现的。

设置

在本文中,我将提供一个在 Node 环境中运行的 JavaScript 应用程序示例。阅读在容器内开发以获取所有技术堆栈的详细文档。

如果您尚未安装Docker和 VS Code,请先安装它们。在 VS Code 中安装Remote — Containers扩展。确保 Docker 正在您的机器上运行。

转到您的项目并在根目录中创建一个名为.devcontainer的文件夹。这个新文件夹包含开发容器所需的配置文件。

在.devcontainer 中创建Dockerfile和devcontainer.json并添加以下配置。

Dockerfile文件如下

# Specify the base image you want your dev container to use.
# You may use the same exact base image your application would use in production for consistancy.
# That could prevent surprises such as "works in local, but not in PROD".

FROM node:14.17.0-alpine

# Additionally you can install other dependencies for the environment while configuring the base image.
# In this example, I am installing Git as the Alpine version of node does not come with one. 

RUN apk update
RUN apk add git

devcontainer.json文件如下

{
    "name": "DevContainer ReactApp",

    // Provide the dev container with a Dockerfile that it can use to build an image and run the container.
    "dockerFile": "Dockerfile",

    // Command(s) to run before the container is created.
    // In this case we are installing the node modules.
    "initializeCommand": "yarn install",

    // Starts the development server every time the container starts.
    // This is triggered on reopening the container as well.
    "postStartCommand": "yarn start",

    // Forward your application's port(s) running in the container to the local machine.
    "forwardPorts": [3000],

    // Required VSC code extensions that you want to automatically install for the developers to use.
    "extensions": [
        "dbaeumer.vscode-eslint",
        "esbenp.prettier-vscode",
        "eamodio.gitlens"
    ]

    // Use the devcontainer.json reference to explore all possible configurations.
    // https://code.visualstudio.com/docs/remote/devcontainerjson-reference
}

完成后,我们需要构建容器。为此,请使用 VS Code 命令面板中的“在容器中打开文件夹”或“在容器中重新打开”。


这应该初始化开发容器。它拉取 docker 基础镜像,配置容器,并启动开发服务器。


结语

容器的构建和配置是一次性活动,需要时间。如果没有更改,后续重建会更快。但是,如果 devcontainer.json 或 Dockerfile 发生更改,则需要重新构建以应用更改。如果您尝试直接重新打开,系统将提示您重建。

到此这篇关于使用Vscode结合docker进行开发的的文章就介绍到这了,更多相关Vscode结合docker开发内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 解决vscode docker插件docker.socket权限问题

    解决办法, 将系统中(如果使用了remote-ssh, 则为远程服务器)所有的.vscode相关进程kill 这些进程都是在 .vscode 文件夹下, 因此可以直接搜索.vscode来kill他们, 然后再重启vscode, 就解决问题了. 知识点扩展: vscode中docker插件无法连接 报错Failed to connect. Is Docker running Error: connect EACCES /var/run/docker.sock 原因分析 原因是docker使用uni

  • 使用Vscode结合docker进行开发的详细过程

    前言 使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程.在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准. 大型项目的团队首先必须确保安装依赖.内核版本这些开发环境是统一的.为了解决开发环境一致性的问题,常规传统的办法就是制定开发人员遵循制定指南,但是尽管如此实际开发过程还是会遇到各种障碍. 设置环境的常规方法如下图所示: 另一种解决方案是使用所有必需的库和依赖项预先配置的开发环境,开发人员可以在容器中分拆这些库和依赖项.然

  • 在VScode中配置ROS环境的详细过程

    目录 准备工作 使用 1 创建工作空间 2 VScode打开工作空间 3 创建功能包 4 创建配置json文件 5 编写文件 6 修改功能包CMakeList.txt 7 编译 8 运行ROS MASTER 9 运行节点 调试 参考 准备工作 首先在VScode中安装ROS和catkin_tool插件 VScode快捷键说明:ctrl+shift+p:调出用于执行命令的输入框ctrl+shift+b:编译 使用 1 创建工作空间 终端打开,在命令行: mkdir -p ~/am_ws/src c

  • vue3 中使用 jsx 开发的详细过程

    目录 安装 JSX 插件 使用语法差异 模板 指令 事件修饰符 v-for v-on 插槽 安装 JSX 插件 在 Vue2 中要想使用 jsx 开发,需要安装 @vue/babel-preset-jsx 等插件,之后在 babel 里指定即可,详细可以参考下面的 Vue2 GitHub 文档 Vue2:GitHub 文档 —— Babel Preset JSX 最近在使用 Vue3,突然想用 jsx 进行开发部分页面,顺便记录一下,也可以参考下面的 Vue3 GitHub 文档 Vue3:Gi

  • IDEA部署Docker到WSL2的详细过程

    本地环境 Windows10+WSL2(Ubuntu),需要大家在服务器安装 Docker 之后,开启远程访问 sudo vi /etc/default/docker 修改配置 # 开启远程访问 -H tcp://0.0.0.0:2375 # 开启本地套接字访问 -H unix:///var/run/docker.sock DOCKER_OPTS="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock" sudo service do

  • Docker安装logstash的详细过程

    编辑docker-compose.yml,内容如下: version: '3' services: logstash02: image: logstash:6.4.1 hostname: logstash02 container_name: logstash02 ports: - "5045:5045" #设置端口 environment: XPACK_MONITORING_ENABLED: "false" pipeline.batch.size: 10 volum

  • Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境详细过程(2023最新攻略)

    目录 安装配置 第一个NeoVim插件 目录管理 终端配置 Python代码补全配置 结语 毫无疑问,我们生活在编辑器的最好年代,Vim是仅在Vi之下的神级编辑器,而脱胎于Vim的NeoVim则是这个时代最好的编辑器,没有之一.异步支持.更好的内存管理.更快的渲染速度.更多的编辑命令,是大神Thiago de Arruda对开发者们最好的技术馈赠. 之前一篇:Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略),我们已经

  • Golang多模块开发的详细过程

    目录 Golang 多模块开发 前提条件 基本要求 本地环境 代码开发 创建模块 创建工作空间 修改源码 总结 Golang 多模块开发 今天学习下Golang中多模块的基础知识,学习多模块的运行原理,使用多模块的方式,可以让开发者的代码在其他多个模块中构建.运行.提高代码的复用,从而提高开发效率. 在今天的学习中,将在工作工作空间中创建两个模块,然后进行模块之间的引用,并运行程序结果. 前提条件 基本要求 Go 1.18 及更高版本 合适的编译工具 - text编辑器也满足要求 命令终端 -

  • VsCode搭建C语言运行环境详细过程及终端乱码问题解决方案

    目录 1.安装c/c++插件 2.安装code runner插件 在VsCode中搭建C/C++运行环境需要先安装以下插件 1.安装c/c++插件 2.安装code runner插件 当然也可以安装一些其他的美化插件根据个人习惯,但是以上这两个是必装的. 安装好插件后来到插件主页点击卸载旁边的小齿轮选择扩展设置 找到扩展设置中的下图选项并打上勾即可,设置完后重启VsCode 以上算是第一大步,接下来进行第二大步,安装Mingw 附上下载地址 https://nuwen.net/mingw.htm

  • vscode搭建STM32开发环境的详细过程

    需要安装的软件 vscode 必装插件: C/C++:用于提供高亮显示和代码补全 Cortex-Debug:用于提供调试配置 make make工具可以直接下载xPack项目提供的windows-build-tools工具里面带了make工具. Release xPack Windows Build Tools v4.2.1-2 · xpack-dev-tools/windows-build-tools-xpack (github.com) openocd arm-none-eabi stm32

  • 在VsCode中搭建Go开发环境的配置教程

    现在Go1.14都已经发布好些日子了,之前发的Go环境搭建教程早已过时,只是因为时间问题一直没来得及更新 这次怀着愧疚的心情,在凌晨四点时,将这教程进行一个更新 注意:本教程最大的好处是不需要梯子. 直接在墙内可进行一切操作,文章写给纯小白的,部分Linux常识解释的过多,熟悉的人请略过 Go的安装 安装基本还是之前的老样子,不过现在的安装早已省事不少,不再需要配置环境变量.直接去官网,下载了安装包后直接安装即可 在Go中文网进行Go最新版安装包的下载(或者复制网址浏览器打开https://st

随机推荐