Docker在windows上使用vscode远程连接容器

 目录

一、提前准备:

二、vscode连接docker容器

三、构建好的docker容器直接连接vscode

四、Windows下的可视化出linux的ui界面


        在日常的开发中,不想windows和linux两个系统之间来回切换,笔者最近打算所有的环境均在一个系统上完成。为了交互方便考虑还是选择windows下来操作。

        windows下一般使用linux大家都使用虚拟机进行操作,目前微软已经有wsl2,也可以虚拟出ubuntu系统。同时也希望在windows上将linux输出的结果可视化出来,这以来不需要再两个系统之间来回切换非常方便。而且使用docker可以非常方便的配置环境。


一、提前准备

wsl(先安装,虚拟机)

docker desktop
xlaunch(可视化)
vscode

以上的安装较为简单,读者可以自行安装。

二、vscode连接docker容器

安装插件

如果按照微软给的步骤,我们可以自己创建一个新的环境

1. git代码

F1+git:clone 复制你代码的地址

2. 添加开发容器

F1+Dev Containers: New Dev Containers

之后你可以选择自己的系统需求,比如python版本使用ubuntu还是需要anaconda,其实也就是去dockerhub中拉去对应的镜像文件。

3. 打开容器

F1+Dev Containers: Reopen in Container

一般会自动帮你编译并且连接,第一次有点慢因为在拉去镜像文件

这样的情况说明连接成功了,并且打开TERMINAL是docker容器的界面,则表情成功。

其实这些操作会生成一个.devcontainer/devcontainer.json文件,在你的代码空间下。里面保持了你镜像文件和相关操作的信息,有兴趣的同学可以去官方文档进行查看。

Using Images, Dockerfiles, and Docker Compose

三、构建好的docker容器直接连接vscode

在vscode中点击一下图标,你可以查看到你建立的容器,

选择你需要进入的容器,点击箭头,等待配置文件即可进入容器(太方便了)。

这个方法唯一的缺点是需要自己构建好镜像和容器。

四、Windows下的可视化出linux的ui界面

在之前的ROS2安装文章中提及,可以参考其中的内容。

ROS2学习——Docker环境下安装于使用(1)_ros2 docker-CSDN博客

有需要的话今后可以出一个详细的步骤补充该部分。


参考

借助 Visual Studio Code 将 Docker 容器用作开发环境 - Training | Microsoft Learn

VSCode使用docker环境进行开发_docker_qq_42349944-GitCode 开源社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nosql期末复习

mongodb基本常用命令(只要掌握所有实验内容就没问题) 上机必考,笔试试卷可能考: 1.1 数据库的操作 1.1.1 选择和创建数据库 (1)use dbname 如果数据库不存在则自动创建,例如,以下…

学习无人机飞行技术,有哪些就业方向?

随着无人机技术的不断进步和应用领域的拓展,研发创新人才的需求也将不断增加,那就业前景还是很广阔的。学习无人机飞行技术后,有以下多个就业方向可供选择: 1. 无人机操作员: - 负责操控和监控无人机飞行,…

基于索尼基于索尼Spresense的眼睛跟随平台中两个模型的对比

1.模型一(现在使用的) 这个模型是一个简单的神经网络,由三个主要组件组成:输入层、一个全连接层(Affine层)、一个Sigmoid激活函数层和一个Binary Cross Entropy损失层。 以下是每个组件的说明: Input 层:这…

ubuntu 更换软件源

ubuntu 更换软件源 在Ubuntu 20.04 LTS中更换软件源可以通过图形界面或命令行进行。更换软件源通常是为了加快软件包的下载速度或解决软件源不可用的问题。这里我将分别说明如何通过图形界面和命令行更换软件源。 通过图形界面更换软件源: 打开“软件和更新”设置…

【LeetCode】验证回文串

目录 一、题目二、解法完整代码 一、题目 如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个 回文串 。 字母和数字都属于字母数字字符。 给你一个字符串 s,如果它是 回文串 &…

问题集锦1

01.inner中使用JwtTokenUtil.getUserCode() 前端调用上传(java),上传使用加购 Overridepublic Boolean insertShoppingCart(InsertShoppingCartParamsDto dto) {// 通过userCode,itemCode和supplierCode来判断当前加购人添加到购物车的商品是…

51单片机第23步_定时器1工作在模式0(13位定时器)

重点学习51单片机定时器1工作在模式0的应用。 在51单片机中,定时器1工作在模式0,它和定时器0一样,TL1占低5位,TH1占高8位,合计13位,也是向上计数。 1、定时器1工作在模式0 1)、定时器1工作在模式0的框图…

查看Oracle是哪个Oracle_home 下启动的

[rootrac1 ~]# ps -ef|grep smon root 413 24903 0 22:30 pts/0 00:00:00 grep --colorauto smon root 27165 1 0 22:11 ? 00:00:09 /u01/app/19.0.0/grid/bin/osysmond.bin grid 27784 1 0 22:12 ? 00:00:00 asm_smon_ASM1 oracl…

基础不牢地动山摇:JS逆向攻防对抗核心的博弈点在于对JS最基础部分的深刻理解和灵活应用——干货语法大全

基础不牢地动山摇:JS逆向攻防对抗核心的博弈点在于对JS最基础部分的深刻理解和灵活应用——语法大全 JS逆向攻防对抗核心的博弈点在于对JS最基础部分的深刻理解和灵活应用,偏门基础用法语法知道的越多,理解的越深刻,运用的越灵活…

前端知识点

HTML、CSS 相关 1、 BFC 1、BFC 是什么? BFC(Block Formatting Context) 格式化上下文; 指一个独立的渲染区域,或者说是一个隔离的独立容器;可以理解为一个独立的封闭空间。无论如何不会影响到它的外面 …

贪心+后缀和,CF 1903C - Theofanis‘ Nightmare

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 1903C - Theofanis Nightmare 二、解题报告 1、思路分析 我们任意一种分组其实都是若干个后缀和相加 比如我们分成了三组,第一组的数被加了一次,第二组的数被加了两次,第…

JDK动态代理-AOP编程

AOPTest.java,相当于main函数,经过代理工厂出来的Hello类对象就不一样了,这是Proxy.newProxyInstance返回的对象,会hello.addUser会替换为invoke函数,比如这里的hello.addUser("sun", "13434");会…

ceres和eigen的cmake配置

这里的eigen是用下面安装的, sudo apt-get install libeigen3-devceres是编译后,安装到系统目录下的 sudo make install这样cmake会自动到系统下去寻找eigen, ceres相关的cmake文件, 包含ceres和eigen引用的源文件,需要在CMake…

Web3 ETF 的软件开发框架

Web3 ETF 的软件开发框架主要包含以下几个方面,需要说明的是,Web3 ETF 仍处于早期发展阶段,相关技术和标准尚未成熟。在开发 Web3 ETF 时,需要谨慎评估风险,并做好安全防范措施。北京木奇移动技术有限公司,…

基于python的随机森林回归预测+贝叶斯优化超参数前后训练效果对比

目录 1.导入必要的库 2.导入数据与数据预处理 3.查看数据分布 4.特征选择 5.模型建立与训练 6.训练集预测结果 7.模型评估 8.预测新数据 9.贝叶斯优化超参数 1.导入必要的库 # 导入所需的库 from sklearn.model_selection import cross_val_score import pandas as …

【vocabulary in use (elementary)】6 Health and Illness

very well / fine 很好 ill sick 生病 I feel terrible 感觉很差 headache 头疼 toothache 牙疼 dentist medicine 药 pills 片药 caps 胶囊 aspirin 阿司匹林 antibiotic 抗生素 vitamin 维生素 painkiller 止痛药 dentist 牙医 got a cold 感冒 for many years 很多年 all th…

Channel Messaging API 的使用

Channel Messaging API 是HTML5中引入的一种高级通信机制,它允许在Web Workers之间,以及Web Workers与主线程之间建立高效、安全的双向通信通道。这一API特别适用于需要频繁交换数据或维持长期通信的场景,提高了Web应用的性能和灵活性。 基础…

中英双语介绍美国的州:印第安纳州(Indiana)

中文版 印第安纳州简介 印第安纳州位于美国中西部地区,是一个以其农业、制造业和体育文化而著称的州。以下是对印第安纳州的详细介绍,包括其地理位置、人口、经济、教育、文化和主要城市。 地理位置 印第安纳州东临俄亥俄州,北接密歇根州…

白骑士的Python教学高级篇 3.1 多线程与多进程

系列目录 上一篇:白骑士的Python教学进阶篇 2.4 高级数据结构 在现代编程中,提升程序性能和处理能力的常见方法之一是并发编程,通过同时执行多个任务来提高效率。Python中主要有两种并发方式:多线程和多进程。理解它们的概念、差…

数据集成面试题

Flume 一、flume组成 --Agent Flume的部署单元,本质上是一个JVM进程,Agent主要由Source、Channel、Sink三个部分组成 --Source 收集数据,以event为单元进行封装发送给channel 参数配置:当采集速度比较慢,调整batchSize参数&…