热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Dockerfile的方式创建SSH服务镜像。

准备文件mkdirssh_Dockerfile&&cdssh_Dockerfile在ssh_Dockerfile文件中添加3个文件分别是:run.sh(运行脚本),

准备文件

mkdir ssh_Dockerfile && cd ssh_Dockerfile
在ssh_Dockerfile文件中添加3个文件分别是:run.sh(运行脚本),Dockerfile, authorized_keys(存放公钥的文件)。
具体内容都在我的github上出于方便我还是粘一下内容
https://github.com/tonyxinminghui/ssh-serverDockerfile

Dockerfile

#所使用的基础镜像
FROM ubuntu:14.04
#添加作者信息
MAINTAINER tony 445241843@qq.com
#安装SSH服务
RUN apt-get install -y openssh-server
RUN mkdir -p /var/run/sshd
RUN mkdir -p /root/.ssh
#取消pam登录限制
RUN sed -ri 's/session required pam_loginuid.so/#session required pam_loginuid.so' /etc/pam.d/sshd
#添加认证文件和启动脚本
ADD authorized_keys /root/.ssh/authorized_keys
#ADD run.sh /root/run.sh
RUN echo "#!/bin/bash" > /root/run.sh
RUN echo "/usr/sbin/sshd -D" >> /root/run.sh
RUN chmod u+x /root/run.sh
#暴露端口
EXPOSE 22
#设置默认启动的命令
CMD ["/root/run.sh"]

但是这里注意我在运行docker build ./的时候出现了
E: Unable to locate package openssh-server
的错误,解决方案是更新一下源RUN apt-get update就好了。

run.sh

启动脚本文件
#!/bin/bash
/root/sbin/sshd -D

authorized_keys

公钥文件,把运行ssh-client的主机的公钥加到authorized_keys中作为认证。
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYMLZxEpNkR+FbHkaONWe/oRP2Pwy17ez4k4DWiKlaG/hP1fVOOTZUKaUupQvV5z8SVIx3wuasKE7bF+L0oA5arECfVAqHXxPR8gHQcrq4Nln2DRz05wkNdXEi3GSgN6a+fqL1+XDPYSzqDWCXVBBmpaTp1rlS3XPospQz4iXh+1LTBB9Rk5tp8zETCVMO7XdKiNqnZ35NPjT07/7wsIlmfwPzvGCK1q3+Z95zJ0Bxpy3Y+pIjy+ZnQW8SOytJ0r9zLz+iP+LOzLAIp0IkCeUBHiws16IT7gIgc3HTr6DZl3DdDEGKvB9bGvtYz4LPc+n25drnFwWP64vIJmY+cnSl root@ubuntu
这是我的虚拟机的公钥。

之后用docker build ./构建镜像。
过后的验证过程在我的上一篇博客中已经提过了。


推荐阅读
  • RHEL/CentOS/Fedora Linux命令下安装Google Chrome
    键入以下命令查看当前版本是32还是64$echoYouareusing$(getconfLONG_BIT)bitLinuxdistro.You64 ... [详细]
  • Day 5 20190120 老男孩python学习第5天 内容整理
    今天继续看MasteringPycharm的视频,一个半小时看git的教学视频:视频1小时44分钟,看了2个半小时以上https:www.youtube ... [详细]
  • 十一、构建我们自己的包在本章中,我们将学习如何构建自己的包。编写包可以让我们创建可以在许多应用 ... [详细]
  • nvmw安装,用于控制node版本;
    之前一直使用的是nodev2.2.0版本,挺说新版本的node解决了npm安装插件产生文件夹结构过深的问题,所以就想更新试试;上网一看才发现,尼玛的node已经到了6.+版本了,好 ... [详细]
  • 标签PostgreSQL,Linux,perf,性能诊断,stap,systemtap,strace,dtrace,dwarf,profiler,perf_events,probe ... [详细]
  • hibernate映射组件映射
    在Hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid(对象标识符),compo ... [详细]
  • 最近用python写了一个小程序,想发布出去让人试用又不想暴露源码,搜索了一下发现将py文件编译成pyd文件就能达到目的。转换过程很简单,但是在调用pyd文件并且打包为单个exe文 ... [详细]
  • ARToolKitunity
    ARToolKit为开源的AR库,相对于高通和easyAr有几点特点:1)开源2)识别项目可以动态添加(详细在后)3)识别文件可以本地生成4)目前只能识别图片(目前为.jpg格式) ... [详细]
  • Ubuntu16.0464位安装armlinuxgcc交叉编译器以及samba服务器
    交叉编译器是嵌入式开发的必要工具,但是由于目前大多数人使用64位ubuntu,在照着很多教程做的时候,就会失败,失败原因是64位ubuntu需要额外安装32位的兼容包。以arm-l ... [详细]
  • Smali代码注入
    以下的内容是对官方MIUIV4移植教程的补充,其中一些工具的使用就不在这里赘述,请大家参考官方教程。好的,话不多说,进入正题 ... [详细]
  • 最近学习了数据挖掘常用的两种算法:FP-Growth和K-Means。现在把我的学习结果分享给大家。以下是本文的目录,大家可以根据需要跳过一些章节:1.FP-Grow ... [详细]
  • centos卸载不必要的程序_在 Linux 中移除从源代码安装的程序的一种简单的方法...
    不是所有的程序都可以在官方或者第三方库中找到,因此你不能使用常规的包管理来安装它们。有时你不得不从源代码中手动构建这些程序。就如你已经知道的一样,当你从 ... [详细]
  • 重装WIN7之后使用UbuntuLiveCD修复grub2双系统引导拿起ubuntu启动光盘启动进入试用ubuntu,打开终端输入命令sudofdisk-l#查看我u ... [详细]
  • 本人先前是linux的支持都,使用过后就成为了其的鄙视者,观点如下:linux想跟windows比,tmd先搞好软件安装的问题。在linux在动不动就要命令行,有多少人会这恶心的命令行。会命令 ... [详细]
  • 一步一步学EF系列【4、升级篇 实体与数据库的映射】
    之前的三张为基础篇,如果不考虑架构问题,做一般的小程序,以足够用了。基本的增删改查也都有了。但是作为学习显然是不够的。通过之前三章的学习,有没有发现这样写有什么问题,有没有觉得繁琐 ... [详细]
author-avatar
zxy寒
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有