利用docker创建支持centos的ssh镜像
创建docker镜像需要基础镜像,目前官方已提供了多种基础镜像,参见: https://hub.docker.com/explore/
要想创建支持centos的ssh镜像,就需要以centos镜像为基础来创建,下面是创建步骤:
1. docker pull centos:6 #获得centos 6系统的镜像
2. 新建在容器中启动sshd服务的脚本,编辑run.sh:
#!/bin/bash
/usr/sbin/sshd -D
3. 在宿主机上生成RSA密钥,然后将生成的密钥复制到sshd_centos目录中:
ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
cp /etc/ssh/ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key.pub /root/sshd_centos
cat ssh_host_rsa_key.pub>authorized_keys
4. 在/root/sshd_centos目录下新建Dockerfile文件:
#生成的新镜像以centos镜像为基础
FROM centos
MAINTAINER by cmzsteven (changmingzhi@.com)
#升级系统
RUN yum -y update
#安装openssh-server
RUN yum -y install openssh-server
#修改/etc/ssh/sshd_config
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
#将密钥文件复制到/etc/ssh/目录中
ADD ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key
ADD ssh_host_rsa_key.pub /etc/ssh/ssh_host_rsa_key.pub
RUN mkdir -p /root/.ssh
ADD authorized_keys /root/.ssh/authorized_keys
#将ssh服务启动脚本复制到/usr/local/sbin目录中,并改变权限为755
ADD run.sh /usr/local/sbin/run.sh
RUN chmod /usr/local/sbin/run.sh
#变更root密码为147258
RUN echo "root:147258"|chpasswd
#开放窗口的22端口
EXPOSE
#运行脚本,启动sshd服务
CMD ["/usr/local/sbin/run.sh"]
5. 切换到Dockerfile文件夹,编译生成镜像:
docker build -t sshd:dockerfile .
6. 查看镜像文件情况:
docker images

7. 利用新建的镜像启动一个容器:
docker run -d -p 10022:22 sshd:dockerfile /usr/local/sbin/run.sh
其中:将宿主机的10022端口映射到容器的22端口,并启动sshd服务。 现在就可以使用ssh工具远程通过宿主机的10022端口访问容器了。
如果想编译docker源码,则需要以docker镜像作为基础镜像(官方建议,内部已集成编译环境),也就是说所有关于镜像都需要由基础镜像出发进行创建。
相关文章:
Docker源码分析
http://www.infoq.com/cn/articles/docker-source-code-analysis-part1/
Dcokerfile书写规则
http://blog.csdn.net/qinyushuang/article/details/43342553
Docker源码编译
http://www.cnblogs.com/styshoo/p/5824895.html
涉及cgroup资源控制的配置
http://baike.baidu.com/link?url=jRMznyBNXOVJG9rVmLNt_bim7HgLIYgT4fbynJp0uqG25lMBmVHQZxxJRp1LYoYqRE1RDsZrKQbM7u62xB5gQK
利用docker创建支持centos的ssh镜像的更多相关文章
- Docker创建支持ssh服务的容器和镜像
原文链接:Docker创建支持ssh服务的容器和镜像 1. 这里使用的centos作为容器,所以首先下载centos的images # sudo docker pull centos 2. 下载后执行 ...
- Docker在手,天下我有,在Win10系统下利用Docker部署Gunicorn+Flask打造独立镜像
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_164 书接上回,之前一篇:Win10环境下使用Flask配合Celery异步推送实时/定时消息(Socket.io)/2020年最 ...
- Docker入门(windows版),利用Docker创建一个Hello World的web项目
Docker 当大家点开这篇博客的时候,相信大家对docker多多少少也有些认识了,最近学习docker这门技术,略微有些心得,写篇文章记录一下学习过程并帮大家跳过一些坑. docker的核心有两个, ...
- 利用docker创建包含需要python包的python镜像
一.拉取python镜像 需要先安装docker,这里读者自行搜索docker的安装过程,下面我们拉取python镜像:以3.7.4为例 docker pull python:3.7.4 二.进入容器 ...
- docker:(5)利用docker -v 和 Publish over SSH插件实现war包自动部署到docker
在 docker:(3)docker容器挂载宿主主机目录 中介绍了运行docker时的一个重要命令 -v sudo docker run -p : --name tomcat_xiao_volume ...
- 使用docker创建含有FFmpeg的自定义镜像
Dockerfile文件 FROM openjdk:8-jre-alpine MAINTAINER "yvioo" RUN echo "http://mirrors.al ...
- 9. 利用Docker快速构建MGR | 深入浅出MGR
目录 1.安装Docker 2.拉取GreatSQL镜像,并创建容器 2.1 拉取镜像 2.2 创建新容器 2.3 容器管理 3.构建MGR集群 3.1 创建专用子网 3.2 创建3个新容器 3.3 ...
- 使用docker创建和运行跨平台的容器化的mssql数据库
我们一般启用sql server数据库要么选择安装SQL Server实例和管理工具(SSMS),要么用vs自带的数据库.如今net跨平台成为趋势,今天给大家介绍另一种我最近在玩的方式,即使用dock ...
- docker 创建mysql和redis
1 镜像加速 创建docker 目录 sudo mkdir -p /etc/docker 镜像加速: sudo tee /etc/docker/daemon.json <<-'E ...
随机推荐
- BZOJ 2225 [Spoj 2371]Another Longest Increasing(CDQ分治)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2225 [题目大意] 给定N个数对(xi,yi),求最长上升子序列的长度. 上升序列定义 ...
- 【动态规划去除冗余】NOIP2010-乌龟棋
[题目大意] [思路] 最简单的思路是五维数组,但是当前走到的步数由已经取到的卡片决定,所以只需要四维.本来想要改一个滚动数组的,但是好像没有滚起来,算了(ノ`Д)ノ. 在学校要晚自习到21:15,回 ...
- 解决 javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
解决这个异常的重点就在于下载两个jar包: bcprov-ext-jdk15on-1.52 bcprov-jdk15on-1.52 传送门:https://stackoverflow.com/ques ...
- Failed to Attach to Process ID Xcode 解决办法
方法1. go to the Product menu and find the Edit Scheme menu there. While in Edit Scheme window, select ...
- [转载]memcached 命令操作详解
转载:http://www.cnblogs.com/azheng007/p/3159345.html 一.存储命令 存储命令的格式: <command name> <key> ...
- [标准性文档]WEB应用安全验证标准
这是根据OWASP ASVS翻译过来的,可作为WEB应用开发的验收标准(未包含具体细节),值得注意的是,验收标准并非越严格越好,应根据企业自身的业务需求判定. WEB应用安全验证标准 安全验证等级的定 ...
- IIS配置Asp.net时,出现“未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.61025.0”
如果出现未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.61025.0, 主要是没有安装.net framwork 3.5,安装一下就行了. ...
- c/c++代码的unit-test中覆盖率的统计
gcov lcov genhtml工具 gcov伴随gcc 发布.gcc编译加入-fprofile-arcs -ftest-coverage 参数生成二进制程序,执行测试用例生成代码覆盖率信 ...
- Dependent Parameters in Concurrent Program using Special Value Set
Dependent Parameters in Oracle Applications Requirement: Say there is a concurrent program that lets ...
- iOS中 xib自定义View在storyboard中的使用
1,创建UIView 的SubClass 命名为MyView 2, new一个名为MyView的xib p1 3,配置xib的属性 p2 4,为View 添加背景色,添加一个按钮并定制按钮约束,这里我 ...