详解docker 允许主机ssh连接到docker容器中
在docker容器中,安装好ssh:
1)替换掉容器中的安装源为163源
2)安装ssh服务
apt-get update apt-get install openssh-server
3)添加目录,修改ssh配置文件
mkdir -p /var/run/sshd vim /etc/pam.d/sshd
找到 session required pam_loginuid.so 这一行,将它注释掉
4)添加要链接过来的主机公钥
将公钥放到/root/.ssh/authorized_key中
接下来就是在宿主机上启动容器,分配端口,启用ssh服务:
docker run -p 10022:22 -d sshd:ubuntu /usr/sbin/sshd -D
尝试链接:
ssh 192.168.163.131 -p 10022
ip 为容器的宿主机ip
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
关于Docker容器内部无法解析域名问题的解决
发现问题 最近工作中部署一个项目,在项目内部需要访问外网.给某云上传文件,但是一直报unknown host,无法解析域名,然后找了好久原因,下面废话不多说,来一起看看详细的解决方法: 解决方法 Linux系统默认没有打开IP转发功能,要确认IP转发功能的状态,可以查看/proc文件系统,使用下面命令: cat /proc/sys/net/ipv4/ip_forward 0 如果上述文件中的值为0,说明禁止进行IP转发:如果是1,则说明IP转发功能已经打开,要想打开IP转发功能,可以直接修改上述
-
浅谈Docker安全机制内核安全与容器之间的网络安全 原创
内核安全 内核为容器提供两种技术 cgorups和namespaces,分别对容器进行资源限制和资源隔离,使容器感觉像是在用一台独立主机环境. ·cgroups资源限制 容器本质上是进程,cgroups的存在就是为了限制宿主机上不同容器的资源的使用量,避免单个容器耗尽宿主机资源而导致其他容器异常. ·namespaces资源隔离 为了使容器处在独立的环境中,docker使用namespaces技术来隔离容器,使容器与容器之间,容器与宿主机之间相互隔离. docker目前仅对uts.IPC.pid
-
在Centos7 中更改Docker默认镜像和容器的位置
一.Why? 通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录.当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮.所以现在是时候把故障排除放在如何改变docker的默认存储位置了.费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器的默认目录的步骤.这篇文章提供了特定于Centos7的说明(它也适用于RHEL7).对于Debian,我可以找到很多文档和"如何"在互联
-
详解在Docker容器中运行Spring Boot应用
spring Boot简化了Spring应用的开发过程,遵循约定优先配置的原则提供了各类开箱即用(out-of-the-box)的框架配置.另一方面,Spring Boot还具备将代码直接构建为可执行jar包的能力,这个jar包是一个可以独立运行的部署单元.基于以上特性,现在普遍认为Spring Boot提供了一种快速构造微服务(Micro-Service)的能力. Docker与Spring Boot Docker是一种Linux容器的实现,Linux容器是基于进程的轻量级资源隔离技术,每一个
-
详解docker 允许主机ssh连接到docker容器中
在docker容器中,安装好ssh: 1)替换掉容器中的安装源为163源 2)安装ssh服务 apt-get update apt-get install openssh-server 3)添加目录,修改ssh配置文件 mkdir -p /var/run/sshd vim /etc/pam.d/sshd 找到 session required pam_loginuid.so 这一行,将它注释掉 4)添加要链接过来的主机公钥 将公钥放到/root/.ssh/authorized_ke
-
教你如何通过 SSH 连接到 Docker 容器
SSH 是系统管理员工具箱中最常用的命令之一,但它并不常见于 Docker.以下是如何通过 SSH 连接到正在运行的容器,以及为什么在这样做之前应该三思而后行. 你应该在 Docker 容器中使用 SSH 吗? SSH 进入 Docker 容器通常是一种不好的做法,应该避免.docker exec使用命令在容器中获取 shell几乎总是更好. Docker 新手可能会尝试使用 SSH 来更新容器内的文件.容器应该是一次性的,所以它们在创建后应该被视为不可变的,除了存储在卷中的持久数据.编辑源代码
-
详解Nginx 虚拟主机配置的三种方式(基于IP)
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 详解Nginx 虚拟主机配置的三种方式(基于端口) https://www.jb51.net/article/14977.htm 详解Nginx 虚拟主机配置的三种方式(基于域名) https://www.jb51.net/article/14978.htm 1.基于IP的虚拟主机配置 如果同一台服务器有多个IP,可以使用基于IP的虚机主机配置,将不同的服务绑定在不同的IP上. 1.1
-
详解Nginx 虚拟主机配置的三种方式(基于端口)
Nginx配置虚拟主机支持3种方式:基于IP的虚拟主机配置,基于端口的虚拟主机配置,基于域名的虚拟主机配置. 详解Nginx 虚拟主机配置的三种方式(基于IP) https://www.jb51.net/article/14974.htm 详解Nginx 虚拟主机配置的三种方式(基于域名) https://www.jb51.net/article/14978.htm 2.Nginx基于端口的虚拟主机配置 如一台服务器只有一个IP或需要通过不同的端口访问不同的虚拟主机,可以使用基于端口的虚拟主机配
-
详解Mybatis是如何把数据库数据封装到对象中的
一.前言 接到一个问题,数据库为Null的数据,传递到前端显示为0.之前有了解过,持久层框架(mybatis)在把数据库数据封装到对象中,是利用对象的Setter方法,这个大家也都知道,因此我就在Setter方法尝试,结果并不完全是这样.下面我用例子演示. 二.准备阶段 1.数据表 2.表对应的实体类 @Data @ApiModel("用户账号") public class User { @ApiModelProperty(value = "用户id") Integ
-
详解Spring与Mybatis整合方法(基于IDEA中的Maven整合)
项目结构 项目路径可以自己定义,只要路径映射正确就可以 pom.xml <properties> <spring.version>5.1.5.RELEASE</spring.version> <mybatis.version>3.4.6</mybatis.version> <log4j.version>1.2.17</log4j.version> </properties> <dependencies&g
-
详解C语言中sizeof如何在自定义函数中正常工作
1.在main函数中,sizeof是可以正常工作的,比如: int main() { int n[5]; printf("input: \n"); int i ; for(i = 0; i < 5; i++) { scanf("%d",n + i); } int len = sizeof(n)/sizeof(n[0]); printf("%d\n",len); return 0; } 2.但是在自定义函数中就不可以了,如下: #includ
-
详解Java如何使用注解来配置Spring容器
目录 介绍 @Bean and @Configuration AnnotationConfigApplicationContext实例化容器 通过使用 register(Class...) 以编程方式构建容器 @ComponentScan启用组件扫描 Bean的依赖 生命周期回调 Bean指定作用域 自定义bean名称 Bean别名 Bean注入之间的依赖 @Import @ImportResource @PropertySource 支持多个properties文件 ApplicationCo
-
详解js动态获取浏览器或页面等容器的宽高
首先说一下js动态获取浏览器或页面等容器的宽高的方法大体有哪些: 网页可见区域宽: document.body.clientWidth 网页可见区域高: document.body.clientHeight 网页可见区域宽: document.body.offsetWidth (包括边线的宽) 网页可见区域高: document.body.offsetHeight (包括边线的高) 网页正文全文宽: document.body.scrollWidth 网页正文全文高: document.body
-
详解Nginx虚拟主机配置中server_name的具体写法
server_name指令可以设置基于域名的虚拟主机,根据请求头部的内容,一个ip的服务器可以配置多个域名.下面这些server_name的参数是有效的: server_name jb51.net; server_name jb51.net www.jb51.net; server_name *.jb51.net; server_name .jb51.net; server_name nginx.*; server_name jb51.netg bucknell.net brackley.org
随机推荐
- 读写json中文ASCII乱码问题的解决方法
- ASP.NET MVC Web API HttpClient简介
- 深入浅析Node.js 事件循环
- 探索PowerShell(十三) WMI对象介绍
- NodeJS实现阿里大鱼短信通知发送
- javascript 仿开心网好友印象功能(点击文字弹出印象框)
- 微信小程序教程之本地图片上传(leancloud)实例详解
- 判断本机office安装版本的方法分享
- C#实现对图片文件的压缩、裁剪操作实例
- 那些年一起学习的PHP(三)
- php 中include()与require()的对比
- Android 自定义星评空间示例代码
- java web开发之servlet图形验证码功能的实现
- 在云虚拟主机部署thinkphp5项目的步骤详解
- 使用vue完成微信公众号网页小记(推荐)
- python使用paramiko模块通过ssh2协议对交换机进行配置的方法
- 浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
- PHP远程连接oracle数据库操作实现方法图文详解
- vue 解决异步数据更新问题
- python groupby 函数 as_index详解