VSCode通过SSH连接Docker环境进行开发

文章目录

  • VSCode 插件
  • Docker 镜像
    • 构建镜像
    • 部署环境
  • VSCode 连接本地Docker容器
  • VSCode SSH连接Docker容器
  • VSCode 打开容器内目录文件

VSCode 插件

  • Remote - SSH

Docker 镜像

  • https://hub.docker.com/_/golang
# Golang 镜像
docker pull golang:1.22

构建镜像

  • Dockerfile
FROM golang:1.22

WORKDIR /home

# 安装 SSH 服务
RUN apt-get update && apt-get install -y openssh-server
RUN apt-get install -y vim git wget tar
RUN mkdir /var/run/sshd

# 设置 root 用户密码(在生产环境中请使用更安全的方式)
RUN echo 'root:123456' | chpasswd

# 允许 root 用户登录
RUN sed -i '$aPermitRootLogin yes' /etc/ssh/sshd_config
RUN sed -i '$aPasswordAuthentication yes' /etc/ssh/sshd_config
RUN sed -i '$aPort 22' /etc/ssh/sshd_config
# 设置 SSH 登录时的欢迎信息
RUN echo "Welcome to Golang" > /etc/motd

# 暴露 SSH 端口
EXPOSE 22

# 启动 SSH 服务
CMD ["/usr/sbin/sshd", "-D"]
# 构建 Golang 开发环境镜像
docker build -t golang-dev:1.22.0 .

部署环境

# 部署 Golang 开发环境容器
docker run -d --name=golang-dev -p 2222:22 golang-dev:1.22.0

VSCode 连接本地Docker容器

在这里插入图片描述

VSCode SSH连接Docker容器

# 可以先在终端上试下能否正常连
ssh -p 2222 root@192.168.2.121
  • Remote - SSH 插件

在这里插入图片描述

  • 添加 SSH 连接

shift + command + p

在这里插入图片描述

  • 选择 ~/.ssh/config 文件

192.168.2.121是缩主机IP

# 添加容器 SSH 连接信息
Host docker-golang
    HostName 192.168.2.121
    Port 2222
    User root
    ForwardAgent yes
  • 选择连接到主机

在这里插入图片描述

  • 选择刚添加的配置
    在这里插入图片描述

  • 输入密码【回车】连接成功

# 查看 go 版本
go version

在这里插入图片描述

VSCode 打开容器内目录文件

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Shell条件判断

一、文件类型判断 示例: # 判断文件是否存在,存在为0, 不存在为1 [rootlocalhost ~]# test -e person.txt [rootlocalhost ~]# echo $? 0 [rootlocalhost ~]# [rootlocalhost ~]# test -e aba [rootlocalhost ~]# echo $? 1 # 出test外&am…

SaaS 电商设计 (九) 动态化且易扩展的实现购物车底部弹层(附:一套普适的线上功能切量的发布方案)

目录 一.背景1.1 业务背景1.2 技术负债 二.技术目标三.方案设计3.1 解决移动端频繁发版3.1.1 场景分析3.1.2 技术方案 3.2 减少后端坏味道代码&无法灵活扩展问题3.2.1 通过抽象接口完成各自单独楼层渲染逻辑3.2.2 通过配置能力做到部分字段可配 四.升级上线(普适于高并发大…

小程序实现定位城市切换且城市根据首字母A-Z排序后端数据实现逻辑

场景: 话不多说后端提供数据实现步骤: 1.controller层 Api(tags {"[地区]-城市相关接口"}) RestController RequestMapping("region") Slf4j public class RegionController extends BaseController {Resourceprivate RegionServ…

盲人出行:科技创造美好的未来

在繁忙的都市中,我每天都要面对许多挑战,盲人出行安全保障一直难以得到落实。我看不见这个世界,只能依靠触觉和听觉来感知周围的一切。然而,我从未放弃过对生活的热爱和对未来的憧憬。在一次机缘巧合下,我认识了一款名…

信息系统项目管理师--项目管理概述

开展项⽬是为了通过可交付成果达成⽬标。⽬标是所指向的结果、要取得的战略地位、要达到的⽬的、要获得的成果、要⽣产的产品或者要提供的服务。 可交付成果形成的独特并可验证的产品、成果或服务。可交付成果可能是有形的,也可能是⽆形的。产⽣⼀个或多个可交付成…

【ArcGIS】渔网分割提取栅格图+网格化分析图绘制

ArcGIS按渔网分割提取栅格图并绘制网格化分析图 准备数据操作步骤步骤1:创建渔网(Create Fishnet)步骤2:栅格数据处理步骤3:栅格插值步骤4:数据关联 参考 网格化的目的是让各个数据更加标准化的进行统计。因…

C语言-指针(上)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 本篇文章将为大家介绍C语言中的核心内容-指针,指针在C语言的中知识内容比…

全新挑战:微软 AI 奥德赛邀您全方位 Get AI 应用技能!

点击蓝字 关注我们 AI 风暴的火速席卷,大语言模型的不断迭代,在企业面临着机遇与挑战并存的新形势下,许许多多的个人也在经历着职业生涯的巨大压力与变革。在这场人工智能的浪潮之中,AI 技能无疑是我们破局焕新的关键利器。 为助力…

Dell R730 2U服务器实践3:安装英伟达上代专业AI训练Nvidia P4计算卡

Dell R730是一款非常流行的服务器,2U的机箱可以放入两张显卡,这次先用一张英伟达上代专业级AI训练卡:P4卡做实验,本文记录安装过程。 简洁步骤: 打开机箱将P4显卡插在4号槽位关闭机箱安装驱动 详细步骤: 对…

k8s单机部署zookeeper

(作者:陈玓玏) 拉取镜像:docker pull zookeeper;编辑yaml: apiVersion: v1 kind: Service metadata:name: zookeeperlabels:app: zookeeper spec:ports:- name: clientport: 2181protocol: TCPtargetP…

图片说话软件一览

目录 ~~tokkingheads~~~~myvoiceyourface~~~~avatarify~~wav2lip(值得研究) 最近刷到很多古画唱歌视频,搜了一下,好多教你怎么做的,今天来尝试了一下,感觉不咋地,就没有成功的 tokkingheads 网页一直转圈,…

Python环境下一种改进的基于梯度下降的自适应短时傅里叶变换

在数字信号处理技术中,傅里叶变换及其逆变换是一种信号时频分析方法。该方法将信号的时域描述及频域描述联系在一起,时域信号可通过正变换转变为频域信号,频域信号可通过逆变换转变为时域信号进行分析。但傅里叶变换及其逆变换是一种信号的整…

基于阿里云平台 通过树莓派实现 1:1人脸识别

之前的学习中,曾经在香橙派上使用阿里云平台的服务实现过类型识别: 使用香橙派并基于Linux实现最终版智能垃圾桶项目 --- 下_香橙派 项目-CSDN博客 现在,尝试在树莓派上通过阿里云平台的服务实现人脸识别! 通过VScode远程连接树莓…

EasyRecovery数据恢复软件2024最新版包括Windows和Mac

EasyRecovery数据恢复软件适用于多种环境和使用场景。首先,它适用于各种操作系统,包括Windows和Mac。无论用户使用的是哪种操作系统,都可以使用该软件进行数据恢复。 其次,EasyRecovery支持从各种存储设备和媒介中恢复数据&#…

iOS消息转发流程

当向Objc对象发送消息时,如果找到对象对应的方法,就会进入消息转发流程,给开发者提供一些最后的机会处理消息无法发送问题,以免出现程序崩溃。 1. 回调对象的resolveInstanceMethod方法,在这个方法中,允许开…

【图论】【并集查找】【C++算法】928. 尽量减少恶意软件的传播 II

作者推荐 动态规划的时间复杂度优化 涉及知识点 图论 并集查找 LeetCode928. 尽量减少恶意软件的传播 II 给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示。在节点网络中,只有当 graph[i][j] 1 时,节点 i 能够直接连接到…

JVM内存回收算法

1.1 引用计数法 每个对象创建的时候,会分配一个引用计数器,当这个对象被引用的时候计数器就加1,当不被引用或者引用失效的时候计数器就会减1。任何时候,对象的引用计数器值为0就说明这个对象不被使用了,就认为是“垃圾…

YOLO算法

YOLO介绍 YOLO,全称为You Only Look Once: Unified, Real-Time Object Detection,是一种实时目标检测算法。目标检测是计算机视觉领域的一个重要任务,它不仅需要识别图像中的物体类别,还需要确定它们的位置。与分类任务只关注对…

第七十一天 漏洞发现-Web框架中间件联动GobyAfrogXrayAwvsVulmap

第71天 漏洞发现-Web框架中间件&联动&Goby&Afrog&Xray&Awvs&Vulmap 知识点: 1、Bup简单介绍&使用说明 2、Xray简单介绍&使用说明 3、AWWS简单介绍&使用说明 4、Goby简单介绍&使用说明 5、Afrog简单介绍&使用说明 6、…

抽象类、模板方法模式

抽象类概述 在Java中abstract是抽象的意思,如果一个类中的某个方法的具体实现不能确定,就可以申明成abstract修饰的抽象方法(不能写方法体了),这个类必须用abstract修饰,被称为抽象类。 抽象方法定义&…
最新文章