详解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安全机制内核安全与容器之间的网络安全 原创
内核安全 内核为容器提供两种技术 cgorups和namespaces,分别对容器进行资源限制和资源隔离,使容器感觉像是在用一台独立主机环境. ·cgroups资源限制 容器本质上是进程,cgroups的存在就是为了限制宿主机上不同容器的资源的使用量,避免单个容器耗尽宿主机资源而导致其他容器异常. ·namespaces资源隔离 为了使容器处在独立的环境中,docker使用namespaces技术来隔离容器,使容器与容器之间,容器与宿主机之间相互隔离. docker目前仅对uts.IPC.pid
-
关于Docker容器内部无法解析域名问题的解决
发现问题 最近工作中部署一个项目,在项目内部需要访问外网.给某云上传文件,但是一直报unknown host,无法解析域名,然后找了好久原因,下面废话不多说,来一起看看详细的解决方法: 解决方法 Linux系统默认没有打开IP转发功能,要确认IP转发功能的状态,可以查看/proc文件系统,使用下面命令: cat /proc/sys/net/ipv4/ip_forward 0 如果上述文件中的值为0,说明禁止进行IP转发:如果是1,则说明IP转发功能已经打开,要想打开IP转发功能,可以直接修改上述
-
详解在Docker容器中运行Spring Boot应用
spring Boot简化了Spring应用的开发过程,遵循约定优先配置的原则提供了各类开箱即用(out-of-the-box)的框架配置.另一方面,Spring Boot还具备将代码直接构建为可执行jar包的能力,这个jar包是一个可以独立运行的部署单元.基于以上特性,现在普遍认为Spring Boot提供了一种快速构造微服务(Micro-Service)的能力. Docker与Spring Boot Docker是一种Linux容器的实现,Linux容器是基于进程的轻量级资源隔离技术,每一个
-
在Centos7 中更改Docker默认镜像和容器的位置
一.Why? 通常,当你开始使用docker时,我们并不太关心Docker 用于存储镜像和容器的默认目录.当使用Docker进行更多实验时,Docker开始占用大量的空间时,你不得不按下紧急按钮.所以现在是时候把故障排除放在如何改变docker的默认存储位置了.费了很大力浏览了许多网站和论坛后,我无法确定在Centos7主机上更改Docker镜像和容器的默认目录的步骤.这篇文章提供了特定于Centos7的说明(它也适用于RHEL7).对于Debian,我可以找到很多文档和"如何"在互联
-
详解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
随机推荐
- 详解Python中的join()函数的用法
- JavaMail入门教程之接收邮件(4)
- PHP递归实现文件夹的复制、删除、查看大小操作示例
- go和python调用其它程序并得到程序输出
- 对比分析C语言中的gcvt()和ecvt()以及fcvt()函数
- node.js 和HTML5开发本地桌面应用程序
- JavaScript中apply与call的用法意义及区别说明
- WebQQ最新登陆协议的用法
- 25个优雅的jQuery Tooltip插件推荐
- Android中自定义ImageView添加文字设置按下效果详解
- JavaScript 事件对内存和性能的影响
- 不错的新闻标题颜色效果
- C#文件和字节流的转换方法
- Java生成动态版验证码的方法实例
- Android仿泡泡窗实现下拉菜单条实例代码
- 20个优秀CSS网站(3月精选)
- Android触屏事件和MotionEvent详解
- 浅谈Java操作符与其优先级
- Node中使用ES6语法的基础教程
- Vue刷新修改页面中数据的方法