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.22WORKDIR /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-golangHostName 192.168.2.121Port 2222User rootForwardAgent yes
  • 选择连接到主机

在这里插入图片描述

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

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

# 查看 go 版本
go version

在这里插入图片描述

VSCode 打开容器内目录文件

在这里插入图片描述

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

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

相关文章

AGI概念与实现

AGI AGI(Artificial General Intelligence),中文名为“通用人工智能”或“强人工智能”,是指通过机器学习和数据分析等技术,使计算机具有类似于人类的认知和学习能力的技术. 多模态的大模型 (Multimodal…

什么是数据同步利器DataX,如何使用?

什么是 Datax? DataX 是阿里云 DataWorks数据集成 的开源版本,使用Java 语言编写,在阿里巴巴集团内被广泛使用的离线数据同步工具/平台。DataX 实现了包括 MySQL、Oracle、OceanBase、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、Ma…

店匠科技颁布 Shoplazza Awards:品牌出海迎历史性机遇,赋能品牌腾飞

在全球化的今天,中国品牌在全球市场的地位日益显著,品牌意识的提升推动了企业出海战略的全新转型。以全球电商市场发展为例,根据 ecommerceBD 数据,2023 年全球零售电子商务销售额预计 6.3 万亿美元,到 2026 年&#x…

旧的Spring Security OAuth已停止维护,全面拥抱新解决方案Spring SAS

Spring Authorization Server 替换 Shiro 指引 背景 Spring 团队正式宣布 Spring Security OAuth 停止维护,该项目将不会再进行任何的迭代 目前 Spring 生态中的 OAuth2 授权服务器是 Spring Authorization Server 已经可以正式生产使用作为 SpringBoot 3.0 的最新…

AVT Prosilica GC Vision Cameras 相机视觉说明使用安装。具体详情内容可参看PDF目录内容。

AVT Prosilica GC Vision Cameras 相机视觉说明使用安装。具体详情内容可参看PDF目录内容。

AcWing 1231. 航班时间 解题思路及代码

先贴个题目: 以及原题链接: 1231. 航班时间 - AcWing题库https://www.acwing.com/problem/content/1233/ 讲下思路吧,这题我不会做(直球)这也是这题其实算是很简单的题出现在我的题解的原因,作为一个重度网…

设计模式-结构型模式-外观模式

外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。[DP] 首先,定义子系统的各个组件接口和具体实现类: // 子系统组件接…

小型主机的终点不是itx主机,惠普800g15700G

2020年初疫情刚开始的时候,我就开始关注ITX主机。 后来玩HP 800g1 DM,现在用800g1 USDT作为我的第二台机器。 一路走来,我感觉小主机的终点不是itx主机(DIY),而是小主机的成品STX版本。 直到有一天看到B站U…

C语言基础(四)——函数

六、函数 6.1 函数的声明与定义—嵌套调用 6.1.1 函数的声明与定义 函数间的调用关系是,由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以背一个或多个函数调用任意次。 下例中有两个c文件, func.c是子函数printstar和print_me…

vite打包构建时环境变量(env)生成可配置的js文件

现实需求 在vite开发过程中,一些变量可以放在.env(基础公共部分变量).env.dev(开发环境)、.env.production(生产环境)中管理,通常分成开发和生产两个不同的配置文件管理&#xff0c…

助力智能化农田作物除草,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建农田作物场景下玉米苗、杂草检测识别分析系统

在我们前面的系列博文中,关于田间作物场景下的作物、杂草检测已经有过相关的开发实践了,结合智能化的设备可以实现只能除草等操作,玉米作物场景下的杂草检测我们则少有涉及,这里本文的主要目的就是想要基于DETR模型来开发构建玉米…

好用且简单的本地大模型聊天工具LM Studio

先看效果: LM Studio是我目前见到最好用,也是最简单的本地测试AI模型的工具,不需要安装python环境以及众多的组件,加载模型、启用GPU、聊天都非常简单。而且可以切换很多不同类型的大语言模型,同时支持在Windows和MA…