1 分钟上手,在容器中运行 Visual Studio Code

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 1 分钟上手,在容器中运行 Visual Studio Code

微信图片_20220611120850.png


https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers


这个插件允许我们在容器中运行 Visual Studio Code。


在项目的根目录中,您需要创建一个名为 .devcontainer 的文件夹。我们将在此处存储环境设置。


然后在此文件夹中创建两个文件,devcontainer.json 和一个 Dockerfile。


命名很重要,因为 Visual Studio Code 希望我们提供一些文件夹和文件名才能成功运行容器。


您的文件夹结构应如下:


微信图片_20220611120902.png


在 Dockerfile 中,我们选择 Docker 镜像并在安装镜像后运行所需的任何命令(例如全局安装)。

FROM node:12.14.1-stretch
RUN npm install -g eslint prettier


微信图片_20220611120912.png


然后,在 devcontainer.json 中,我们可以配置所有设置。


devcontainer.json 基本上是一个配置文件,该文件确定如何构建和启动 dev 容器。

{
  "name": "Node.js Sample",
  "dockerFile": "Dockerfile",
  "appPort": 3000,
  "extensions": ["dbaeumer.vscode-eslint"],
  "settings": {
    "terminal.integrated.shell.linux": "/bin/bash"
  },
  "postCreateCommand": "yarn install",
  // Comment out the next line to run as root instead. Linux users, update
  // Dockerfile with your user's UID/GID if not 1000.
  "runArgs": ["-u", "node"]
}


  1. dockerFile - 您要用作镜像的 Dockerfile 的路径。
  2. appPort - 在容器运行时应在本地提供的端口或端口数组。
  3. extensions - 扩展 ID 的数组,这些 ID 指定创建容器时应在容器内部安装的扩展。
  4. settings - 将默认 settings.json 值添加到特定于容器/机器的设置文件中。
  5. postCreateCommand - 创建容器后要运行的命令字符串或命令参数列表。
  6. runArgs - 运行容器时应使用的 Docker CLI 参数数组


这是 devcontainer.json 选项的完整列表。


微信图片_20220611120948.png


检查一下


容器运行并连接后,您应该在状态栏的左下方看到远程上下文(remote context)更改:


微信图片_20220611120958.pngimage.gif


安装了“Remote — Containers”扩展后,您将在最左侧看到一个新的状态栏项目。


微信图片_20220611121012.png

远程状态栏项目可以快速向您显示在哪个上下文中运行VS Code(本地或远程),单击该项目将弹出“Remote — Containers”命令。


微信图片_20220611121022.png


选择在容器中重新打开。


微信图片_20220611121031.png


等待容器构建


如果这是您的第一次连接,则将下载并构建 Docker 镜像,并将启动运行 VS Code Server 副本的容器。第一次可能需要几分钟,但以后的连接仅需几秒钟。


微信图片_20220611121042.png


检查环境


在容器中进行开发的有用的事情之一是,您可以使用应用程序所需的特定版本的依赖关系,而不会影响本地开发环境。


node --version
npm  --version
相关文章
|
5月前
|
Kubernetes 搜索推荐 Docker
K8S容器运行时弃用Docker转型Containerd
K8S容器运行时弃用Docker转型Containerd
781 0
|
4月前
|
存储 安全 Linux
Podman入门全指南:安装、配置与运行容器
Podman入门全指南:安装、配置与运行容器
2040 1
|
2月前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
8天前
|
Shell Docker 容器
10-19|使用date命令: 你可以在容器内使用date命令来设置时间,但为了防止这个更改影响宿主机,你不能以特权模式运行容器。我没有加特权模式的时候,使用此命令告诉我没权限啊
10-19|使用date命令: 你可以在容器内使用date命令来设置时间,但为了防止这个更改影响宿主机,你不能以特权模式运行容器。我没有加特权模式的时候,使用此命令告诉我没权限啊
|
2月前
|
Kubernetes Shell 测试技术
在Docker中,可以在一个容器中同时运行多个应用进程吗?
在Docker中,可以在一个容器中同时运行多个应用进程吗?
|
2月前
|
Shell Docker 容器
在Docker中,如何停止所有正在运行的容器?
在Docker中,如何停止所有正在运行的容器?
|
2月前
|
监控 Ubuntu Docker
如何在Docker容器启动时自动运行脚本
【8月更文挑战第13天】在Docker容器启动时自动运行脚本可通过以下方式实现:1) 使用`ENTRYPOINT`或`CMD`指令在Dockerfile中直接指定启动脚本,如`ENTRYPOINT ["/startup.sh"]`;2) 启动容器时通过`--entrypoint`参数指定脚本路径;3) 利用supervisor等进程管理工具自动启动与监控脚本,确保其稳定运行。确保脚本具有执行权限并正确设置依赖资源路径。
586 1
|
3月前
|
人工智能 Serverless API
函数计算产品使用问题之如何在一个Docker容器内运行一个持续监听特定端口的应用程序
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
Docker 容器
docker: 修改运行容器的端口
docker: 修改运行容器的端口
|
3月前
|
Java 测试技术 数据库
单元测试问题之LoginServiceImpl以避免对IpUtil的依赖问题如何解决
单元测试问题之LoginServiceImpl以避免对IpUtil的依赖问题如何解决
下一篇
无影云桌面