vscode调试container中的程序的方法步骤

下面是详细的 VS Code 调试 Container 中的程序的方法步骤:

步骤一:准备工作

  1. 安装 Docker 和 VS Code;
  2. 安装 VS Code 的 Docker 插件 Docker Extension;
  3. 创建需要调试代码的 Docker 容器,可以使用 Dockerfile 或者 docker-compose。

步骤二:创建 launch.json 配置文件

  1. 打开 VS Code,按 F5 进入调试面板;
  2. 点击“Create a launch.json file”按钮;
  3. 选择“Docker”作为调试环境;
  4. 生成的 launch.json 文件中需要修改的地方如下:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Docker: Attach to Node",
      "type": "node",
      "request": "attach",
      "remoteRoot": "/app",
      "localRoot": "${workspaceFolder}",
      "port": 9229,
      "protocol": "inspector",
      "restart": true,
      "address": "localhost"
    }
  ]
}

其中,需要修改的参数值如下:

  • "name":配置名称;
  • "port":监听端口号;
  • "localRoot":本地目录路径;
  • "remoteRoot":容器中的代码路径。

步骤三:启动容器

运行以下命令启动容器并进入容器:

docker run -it -p 9229:9229 -v /path/to/code:/app ${IMAGE_NAME} /bin/bash

其中,需要修改的参数值如下:

  • 9229:启动时监听的端口号;
  • /path/to/code:本地代码所在目录路径;
  • ${IMAGE_NAME}:启动容器使用的镜像。

步骤四:配置 VS Code 调试

  1. 打开 VS Code 的调试面板;
  2. 点击“Docker Attach”启动调试;
  3. 在弹出的选择列表中,选择与容器中相应的配置。

示例一:Node.js 应用程序

在 Dockerfile 文件中添加以下行:

FROM node:15.10-slim
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
CMD ["npm", "start"]

启动容器,进入容器中的 /app 目录并运行以下命令启动 Node.js 应用程序:

docker run -it -p 9229:9229 -v /path/to/code:/app ${IMAGE_NAME} /bin/bash
cd /app
npm start

示例完成后,进入 VS Code,按 F5 进入调试面板,选择已经配置好的 Node.js 容器调试配置即可。

示例二:Python 应用程序

在 Dockerfile 文件中添加以下行:

FROM python:3.7-slim-stretch
WORKDIR /app
COPY . /app
ENTRYPOINT ["python", "app.py"]

启动容器,进入容器中的 /app 目录并运行以下命令启动 Python 应用程序:

docker run -it -p 5678:5678 -v /path/to/code:/app ${IMAGE_NAME} /bin/bash
cd /app
python app.py

示例完成后,进入 VS Code,按 F5 进入调试面板,选择已经配置好的 Python 容器调试配置即可。

以上就是详细的 VS Code 调试 Container 中的程序的方法步骤,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vscode调试container中的程序的方法步骤 - Python技术站

(0)
上一篇 2023年6月11日
下一篇 2023年6月11日

相关文章

  • javascript实现客户端兼容各浏览器创建csv并下载的方法

    在JavaScript中,可以通过Blob对象和URL.createObjectURL()方法来生成CSV文件,并通过a标签的download属性实现文件的下载。下面是实现客户端兼容各浏览器创建CSV并下载的完整攻略: 准备工作 在代码中创建用户需要下载的CSV内容数据 var data = [ [‘姓名’, ‘年龄’, ‘性别’], [‘张三’, ’18’…

    JavaScript 2023年5月27日
    00
  • 使用闭包对setTimeout进行简单封装避免出错

    对于JavaScript定时器setTimeout,常常在一些复杂的场景下使用,但由于其特性,在使用过程中,可能会出现回调函数中的this关键字指向不明的问题,或者定时器句柄无法被清除的问题等。这时,我们可以使用闭包对setTimeout进行简单的封装,以避免出错。下面是具体的攻略: 1. 封装setTimeout 首先,我们要封装setTimeout函数。…

    JavaScript 2023年6月10日
    00
  • 《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史

    下面是《JavaScript DOM 编程艺术》读书笔记之JavaScript 简史的详细攻略: 目录 简介 JavaScript 的诞生 JavaScript 的发展历程 JavaScript 的现状和未来 总结 简介 本篇读书笔记主要介绍了JavaScript的简史,该章节主要根据《JavaScript DOM 编程艺术》(第二版)第2章内容整理而来。 …

    JavaScript 2023年6月10日
    00
  • Javascript删除数组里的某个元素

    当需要删除Javascript数组中的某个元素时,可以利用splice()方法。 splice()方法有两个参数:第一个是要删除的元素的位置,第二个是要删除的元素的数量。 示例1:删除数组中指定位置的元素 const arr = [‘A’, ‘B’, ‘C’, ‘D’, ‘E’]; arr.splice(2, 1); // 删除位置为2的元素,数量为1 co…

    JavaScript 2023年5月27日
    00
  • Promise静态四兄弟实现示例详解

    Promise静态四兄弟实现示例详解 Promise静态四兄弟 在ES6中,Promise是一种用于异步编程的解决方案。Promise有两个状态:pending(等待)、fulfilled(已成功)和rejected(已失败)。一旦Promise状态改变为fulfilled或rejected,它就变成了不可变的。Promise有一些静态方法,其中四个方法称为…

    JavaScript 2023年5月27日
    00
  • js对象实现数据分页效果

    实现数据分页效果,可以使用 JavaScript 中的对象技术。具体而言,可以将需要分页的数据存储在一个 JavaScript 对象中,并根据用户的分页请求,从对象中提取出需要的数据子集以供展示。 以下是实现对象数据分页效果的完整攻略: 1. 创建数据对象 创建一个 JavaScript 对象来存储需要分页的数据。对象中应该包含两个属性:data 和 pag…

    JavaScript 2023年6月10日
    00
  • 理解javascript中的with关键字

    当我们在使用JS进行开发时,可能会遇到使用with关键字的代码。with可以被用来打破常规的JS作用域规则,允许我们更方便地访问某些对象中的属性和方法。然而,with关键字在使用上很容易出错,也容易导致代码不易阅读和维护。因此,在使用with语句时,需要谨慎使用,遵循一些约定和最佳实践,下面将详细讲解“理解JavaScript中的with关键字”,帮助读者更…

    JavaScript 2023年6月10日
    00
  • PHP的Yii框架的基本使用示例

    下面是关于“PHP的Yii框架的基本使用示例”的完整攻略。 一、什么是Yii框架? Yii框架是一个高性能的、基于组件的PHP框架,它具有良好的扩展性和灵活性,是一个适用于Web应用开发的框架。Yii框架可以让开发者在减少重复性工作的同时,保持代码的规范和可读性。 二、Yii框架的安装 首先,我们需要安装Yii框架,可以通过Composer来进行安装,执行以…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部