当前位置: 首页 > news >正文

【VS Code】使用 VS Code 登陆远程服务器上的 Docker 容器

以下命令默认已经构建了一个 Docker Image。 

# 在服务器上启动 docker (-p 端口映射,用于后续的 ssh 连接)
docker run -itd -v /mnt/mount/:/home -p 8124:22 --name container-name --gpus all image-name# 进入容器中
docker exec -it container-name /bin/bash# 设置密码,后续登陆使用,比如 admin
passwd# 查看 ssh 状态(出现 ssh: unrecognized service 表示 ssh 未安装)
service ssh status # 安装 ssh
apt-get update
apt-get install openssh-server# 启动 ssh (出现 * Starting OpenBSD Secure Shell server sshd 表示启动成功)
service ssh start # 打开 ssh 配置文件进行修改,并重启
vi /etc/ssh/sshd_config
```
# 修改 PermitRootLogin 和 UsePAM 
#PermitRootLogin prohibit-password
PermitRootLogin yes 
# UsePAM yes
UsePAM no  
```
service ssh restart# 在服务器上进行连接测试,输入上面设置的密码 admin,登陆成功则没问题
ssh root@127.0.0.1 -p 8124
# vscode 登陆此容器只需要把上面的 127.0.0.1 换成服务器 ip 即可

上述的步骤主要是在服务器上启动了一个docker容器,并在容器内安装和配置了ssh服务。以下是对于这些步骤的详细解释:

首先,使用 docker run 命令在服务器上启动了一个名为 container-name 的容器。这里使用了 -v /mnt/mount/:/home 参数将服务器上的 /mnt/mount/ 目录映射到容器的 /home 目录。另外,-p 8124:22 参数表示将容器的22端口(ssh默认端口)映射到服务器的8124端口,这样后续可以通过ssh协议连接到容器。--name container-name --gpus all 参数为容器指定了一个名字和GPU的使用权限。最后的 image-name 是要运行的docker镜像名称。

接着,使用 docker exec -it container-name /bin/bash 命令进入了容器的交互式shell。在此命令中,-it 参数表示保持交互,并分配一个伪终端。/bin/bash 是要执行的shell命令,即启动bash shell。

在容器内,使用 passwd 命令设置了密码,这个密码将用于后续的ssh登陆。

为了确认ssh是否已经在容器内安装,使用 service ssh status 命令检查ssh服务的状态。如果未安装ssh服务,将会出现 unrecognized service 的提示。

如果ssh未安装,则使用 apt-get update 和 apt-get install openssh-server 命令来安装ssh服务。

安装完成后,使用 service ssh start 命令启动ssh服务。如果一切正常,将会看到 Starting OpenBSD Secure Shell server sshd 的提示,表示ssh服务已经成功启动。

为了修改ssh的配置,首先使用 vi /etc/ssh/sshd_config 命令打开配置文件。在配置文件中,修改了 PermitRootLogin 和 UsePAM 的设置。PermitRootLogin yes 表示允许root用户登录,而 UsePAM no 则表示不使用Pluggable Authentication Modules。修改后,使用 service ssh restart 命令重启ssh服务以应用新的配置。

最后,为了测试ssh连接是否正常,使用 ssh root@127.0.0.1 -p 8124 命令尝试连接到容器。在输入密码后,如果能正常登陆,就表示ssh连接没有问题。对于VSCode的远程连接也是同样的方式,只需要将上述命令中的 127.0.0.1 换成服务器的实际IP地址即可连接到VSCode。

以上就是在服务器上启动docker容器,并在容器内安装和配置ssh服务的全过程。

相关文章:

【VS Code】使用 VS Code 登陆远程服务器上的 Docker 容器

以下命令默认已经构建了一个 Docker Image。 # 在服务器上启动 docker (-p 端口映射,用于后续的 ssh 连接) docker run -itd -v /mnt/mount/:/home -p 8124:22 --name container-name --gpus all image-name# 进入容器中 docker exec -it container-name /bin/bas…...

用Python做数据分析之数据统计

接下来说说数据统计部分,这里主要介绍数据采样,标准差,协方差和相关系数的使用方法。 1、数据采样 Excel 的数据分析功能中提供了数据抽样的功能,如下图所示。Python 通过 sample 函数完成数据采样。 2、数据抽样 Sample 是进行…...

智慧工地建造平台源码、智慧化工地云平台源码

概述:智慧工地管理平台充分运用数字化技术,聚焦施工现场岗位一线,依托物联网、互联网、AI等技术,围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实…...

Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现

Spring Cloud Alibaba中Nacos的安装(Windows平台)以及服务的发现 下载安装Nacos解压启动验证是否启动搭建一个简单的Spring Cloud Alibaba项目Spring Cloud Alibaba 以及 Nacos的引入如何选择对应的版本 服务的注册Nacos相关组件的说明 下载安装Nacos G…...

QR码应用实战:Spring Boot与ZXing完美结合

🎏:你只管努力,剩下的交给时间 🏠 :小破站 QR码应用实战:Spring Boot与ZXing完美结合 前言第一: 介绍QR码和ZXing第二:springboot整合zxing添加ZXing依赖生成二维码生成条形码 前言 …...

Leetcode刷题详解——两两交换链表中的节点

1. 题目链接:24. 两两交换链表中的节点 2. 题目描述: 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 …...

Openssl数据安全传输平台019:外联接口类的封装以及动态库的制作 - Bug未解决,感觉不是代码的问题

文章目录 1 外联接口1.1 接口类的封装1.2 共享内存与配置文件 2 json格式配置文件的定义2.1 共享内存中存储的节点结构2.2 服务器端配置文件2.3 客户端配置文件2.4 改进配置文件 3 共享内存类修改4 将接口打包成库(静态/动态)4.1 相关的指令4.1.1 静态库4.1.2 动态库 4.2 外联接…...

YOLO目标检测——安全帽佩戴检测数据集【含对应voc、coco和yolo三种格式标签】

实际项目应用:安全帽佩戴检测数据集可以用于实时检测工作人员是否按照要求佩戴了安全帽,以保障他们的安全数据集说明:安全帽佩戴检测数据集,真实场景的高质量图片数据,数据场景丰富,图片分为带头盔和没带头…...

P4345 [SHOI2015] 超能粒子炮·改 题解---------Lucas定理

题面: 题目 题意概括: T T T 次询问,每次给出 n , k n,k n,k,求 ∑ i 0 k C n i % 2333 \sum_{i 0}^{k} C_{n}^{i} \ \% \ 2333 ∑i0k​Cni​ % 2333。 1 ≤ T ≤ 1 0 5 , 1 ≤ n , k ≤ 1 0 18 1\leq T \leq10^5…...

http代理和ip代理的区别,代理IP带来了哪些好处?

随着互联网的快速发展,代理IP和HTTP代理已成为网络爬虫、网络营销、数据抓取等领域中不可或缺的一部分。但是,很多人在使用代理IP和HTTP代理时并不清楚两者的区别,以及代理IP所带来的好处。本文将详细介绍这两者之间的差异,以及代…...

浅谈电动汽车充电桩检测技术的实现

叶根胜 安科瑞电气股份有限公司 上海嘉定 201801 摘要: 关键词:电动直流和交流充电桩是我国电动汽车充电桩中运行量较大的一种。为了保持正常运行和使用,应高度重视检测、运行和维护工作。因此,有关部门应做好充电桩的检测工作…...

20 分钟搭建一个串流服务器

步骤1:准备Nginx RTMP容器 首先,您可以使用官方的Nginx RTMP Docker镜像来创建Nginx RTMP容器。运行以下命令: docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp 这将在后台运行Nginx RTMP容器,将本地1935端…...

Android ActivityLifecycleCallback使用

在 Android 开发中,ActivityLifecycleCallbacks 是一个接口,用于监听和管理应用程序中 Activity 的生命周期事件。通过实现 ActivityLifecycleCallbacks 接口,可以在 Activity 的创建、启动、暂停、恢复、停止和销毁等各个阶段执行相应的操作…...

力扣labuladong——一刷day14

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、力扣21. 合并两个有序链表二、力扣86. 分隔链表三、力扣23. 合并 K 个升序链表四、力扣19. 删除链表的倒数第 N 个结点五、力扣876. 链表的中间结点六、力扣…...

循环神经网络(RNN)与长短期记忆网络(LSTM)

前言: 通过前面的学习,我们以BP神经网络为基础,认识到了损失函数,激活函数,以及梯度下降法的原理;而后学习了卷积神经网络,知道图像识别是如何实现的。今天这篇文章,讲述的就是计算机…...

ArxDbgDocLockWrite 类简介

ArxDbgDocLockWrite 类是一个用于在 AutoCAD 中锁定文档的自定义类。它提供了一些方法来获取和释放对文档的写入锁定,并且还可以设置当前文档。 该类的原理如下: 构造函数 ArxDbgDocLockWrite() 和 ArxDbgDocLockWrite(AcDbDatabase* db) 用于创建 Arx…...

【教3妹学编辑-算法题】环和杆

3妹:2哥,今年春节的放假安排出来了,今年春节放8天假,我们公司除夕提前放一天,总共9天假。 耶~~~ 2哥 :你们公司这么好啊, 我们公司的放假安排还没出来,不知道今年除夕能不能回家了… 3妹&#x…...

解决 eslint 的 Parsing error: Unexpected token 错误

解决 eslint 的 Parsing error: Unexpected token 错误 问题描述:import动态导入,将js文件单独打包时,webpack打包错误 ERROR in ./src/js/main.js Module Error (from ./node_modules/_eslint-loader4.0.2eslint-loader/dist/cjs.js ): F…...

VR全景技术在文化展示与传播中有哪些应用?

引言: 随着科技的不断进步,虚拟现实(VR)全景技术已经成为文化展示与传播领域的一项重要工具。那么VR全景技术是如何改变文化展示与传播方式,VR全景技术又如何推动文化的传承和普及呢? 一.VR技术…...

Linux shell编程学习笔记19:until循环语句

Linux shell编程中的until语句,在功能上与其它编程语言一致,但在结构与其它编程语言又不太一样。在大多数编程语言中,until语句的循环条件表达式一般位于循环体语句的后面,但是在Linux shell编程中,until语句的循环条件…...

OpenClaw故障诊断:Qwen3.5-9B接口超时问题排查实录

OpenClaw故障诊断:Qwen3.5-9B接口超时问题排查实录 1. 问题现象与初步判断 那天深夜,我正在调试一个自动化文档处理流程,OpenClaw突然开始频繁报错。控制台不断弹出"Model timeout after 30000ms"的警告,原本10秒内能…...

Tide静态文件服务终极指南:快速实现高效文件处理方案

Tide静态文件服务终极指南:快速实现高效文件处理方案 【免费下载链接】tide Fast and friendly HTTP server framework for async Rust 项目地址: https://gitcode.com/gh_mirrors/ti/tide Tide是一个为异步Rust打造的快速友好的HTTP服务器框架,提…...

Slowloris安装与部署:从源码到生产环境的完整流程

Slowloris安装与部署:从源码到生产环境的完整流程 【免费下载链接】slowloris Low bandwidth DoS tool. Slowloris rewrite in Python. 项目地址: https://gitcode.com/gh_mirrors/sl/slowloris Slowloris是一款基于Python的低带宽DoS(拒绝服务&a…...

Universal Debug Library:嵌入式双通道调试框架

1. Universal Debug Library 深度解析:面向嵌入式开发的双通道调试框架在嵌入式系统开发中,调试信息输出是贯穿硬件验证、固件调试、现场问题定位全生命周期的核心能力。传统Serial.print()系统存在明显局限:输出通道单一、格式化能力弱、平台…...

【优化求解】用于密集子图和密集子矩阵问题的凸优化附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...

保姆级教程:彻底解决Win11 CH340串口‘无法访问’问题(附2011版驱动下载与防捆绑指南)

终极指南:Win11系统CH340串口驱动兼容性问题的完整解决方案 最近不少开发者反馈在Windows 11系统下使用CH340串口模块时遇到了"无法访问"的问题。这个看似简单的驱动兼容性问题,实际上困扰了许多嵌入式开发者和硬件爱好者。本文将提供一个从问…...

5个步骤安全使用YimMenu:GTA5 DLL注入入门指南

5个步骤安全使用YimMenu:GTA5 DLL注入入门指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu …...

C语言的初步认识

大家好!我是河南计算机专业的一名大一学生,很高兴今天加入博客大团体并写下我人生中的第一篇博客,在此我将会记录我大学中的编程生活。1.函数函数是C语言的基本组成单位,初识C语言,我们遇见的第一个函数是main函数&…...

终极指南:如何为QuaggaJS构建自定义条形码扫描插件

终极指南:如何为QuaggaJS构建自定义条形码扫描插件 【免费下载链接】quaggaJS An advanced barcode-scanner written in JavaScript 项目地址: https://gitcode.com/gh_mirrors/qu/quaggaJS QuaggaJS是一款强大的JavaScript条形码扫描库,它允许开…...

Qwen3-VL-2B-Instruct部署资源占用过高?显存压缩方案

Qwen3-VL-2B-Instruct部署资源占用过高?显存压缩方案 重要提示:本文介绍的显存优化方案适用于多种视觉语言模型部署场景,但具体效果可能因硬件配置和实际使用情况而有所差异。 1. 问题背景:为什么显存占用这么高? 如果…...