http://www.kongxx.info/blog/?p=57

1. 这里使用的centos作为容器,所以首先下载centos的images
sudo docker pull centos

2. 下载后运行一个centos的容器,这里使用centos6作为我测试的容器
sudo docker run --name=centos-ssh -i -t centos:centos6 /bin/bash

3. 安装openssh-server服务软件包
yum install openssh-server

4. 编辑sshd的配置文件/etc/ssh/sshd_config,将其中UsePAM参数设置成“no”

5. 启动sshd服务
/etc/init.d/sshd start

6. 添加测试用户admin,密码admin
useradd admin
echo 'admin:admin' | chpasswd

7. 为了使新添加的用户可以运行sudo命令,需要安装sudo软件包,并将admin添加到sudoers里
yum install sudo <--安装sudo软件包
visudo <--编辑sudoers,添加下面的行到文件里
admin ALL=(ALL) ALL

8. 测试,做完上面工作之后,使用ifconfig来查看一下容器的ip,或者使用“sudo docker inspect ”查看,然后就可以在宿主机器上通过ssh admin@<ip>来访问新创建的docker容器了。

9. 如果想要把做好的支持ssh服务的容器作为一个docker的镜像,先退出容器,然后使用下面的命令来创建
sudo docker commit <container id> <image name>

10. 用刚保存的镜像,后台启动一个新的容器
docker run --name [image-name] -i -t -p 50001:22 [image-id]
例: # docker run -d -p 50001:22 ubuntu/ruby:v2 /usr/sbin/sshd -D
11. ssh远程登录该容器
# ssh root@localhost -p 50001

如果想要通过ssh密钥登录,则在第2步,修改 /etc/ssh/sshd_config 文件,将RSAAuthentication 和 PubkeyAuthentication 后面的值都改成yes ,保存。
将本地.ssh下的id_rsa.pub上传到容器中的 id_rsa.pub,并 # mv /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys,然后 # chmod 600 /root/.ssh/authorized_keys 即可.

创建支持ssh服务的docker容器和镜像的更多相关文章

  1. Docker使用Dockerfile创建支持ssh服务自启动的容器镜像

    原文链接:Docker使用Dockerfile创建支持ssh服务自启动的容器镜像 1. 首先创建一个Dockerfile文件.文件内容例如以下 # 选择一个已有的os镜像作为基础 FROM cento ...

  2. Centos7创建支持ssh服务的docker镜像

    如何在centos7中使用docker创建一个支持ssh连接的容器 1.拉取centos7.4镜像(由于7.4目前是最稳定的版本,所以推荐使用centos7.4) docker pull centos ...

  3. 两种方式创建支持SSH服务的docker镜像

    方法一:基于commit命令创建 1.首先,从docker的源中查看我们需要的镜像,本案例中使用Ubuntu作为基础镜像. # federico @ linux in ~ [16:57:38] $ s ...

  4. Docker创建支持ssh服务的容器和镜像

    原文链接:Docker创建支持ssh服务的容器和镜像 1. 这里使用的centos作为容器,所以首先下载centos的images # sudo docker pull centos 2. 下载后执行 ...

  5. 使用Dockerfile创建支持SSH服务的镜像

    1.前面我们学习了使用Dockerfile,那接下来我们就用Dockerfile创建一个支持SSH服务的镜像. 2.首先创建一个目录ssh_centos [root@rocketmq-nameserv ...

  6. docker如何创建支持SSH服务的镜像

    一般情况下,Linux系统管理员通过SSH服务来管理操作系统,但Docker的很多镜像是不带SSH服务的,那么我们怎样才能管理操作系统呢?在第一部分中我们介绍了一些进入容器的办法,比如用attach. ...

  7. Docker(2):使用Dockerfile创建支持SSH服务的镜像

    1.创建工作目录 # mkdir sshd_ubuntu # ls 在其中,创建Dockerfile和run.sh文件 # cd sshd_ubuntu/ # touch Dockerfile run ...

  8. docker基于Dockerfile命令创建支持ssh服务的镜像

    首先,创建一个sshd_centos工作目录: [root@localhost ~]# mkdir sshd_centos [root@localhost ~]# cd sshd_centos [ro ...

  9. docker基于commit命令创建支持ssh服务的镜像

    以centos为基础,目的使用ssh服务远程连接docker容器. 环境:宿主机centos7(宿主机ip地址为192.168.164.130),直接搜索docker的centos镜像,下载最新版本. ...

随机推荐

  1. EXCEL 图表 只在拐点的时候显示数字

    EXCEL图表只在折线的拐点显示数值,中间不需要显示.同时往下拐的,显示在上方,往上的显示在下方,这样数值不会挡住线. 首先,做一些模拟数据 因为起点和终点数值必须显示,所以单元格,C2 D2 C19 ...

  2. Java web 项目的相对路径的使用

    在java Web中有些地方读取文件需要相对路径.在Java Web 中如何使用相对路径呢? Java Web 在发布项目的时候. 发布根路径下WEB-INF/classes 默认使用该方法的路径是: ...

  3. 网页for循环get测试

    for(var i=0;i<10000;i++) { var request = new XMLHttpRequest(); request.open("GET"," ...

  4. eclipse或myeclipse快捷键

    MyEclipse 快捷键1(CTRL) ------------------------------------- Ctrl+1 快速修复 Ctrl+D: 删除当前行 Ctrl+Q  定位到最后编辑 ...

  5. iOS http post 上传图片

    上传图片的http post请求的格式是这样的 第一行是指定了http post请求的编码方式为multipart/form-data(上传文件必须用这个).boundary=AaB03x说明了AaB ...

  6. ENTITYFRAMEWORKCORE 二使用配置文件来配置数据库链接

    首先 配置文件现在已经变成appsettings.json, 先添加一个连接字符串 "ConnectionStrings": { "PWDatabase": & ...

  7. nodejs授权连接mongodb

    mongodb安装完以后是没有用户连接授权验证的 在控制台直接输入mongo进入交互模式 show dbs use databaseName show collections 这些基本的命令都不会有问 ...

  8. Android TextView设置多彩文字

    在应用开发中时常会遇到需要在一段文字中插入几个不一样颜色文字的需求; 以前本人都是用多个TextView拼起来,不仅感觉很蠢,操作起来也蛮恶心; 直到接触到了SpannableStringBuilde ...

  9. Javascript 事件对象(五)事件捕获

    事件捕获: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" c ...

  10. 最新ecshop v2.7.3版本去版权完全版

    该偏文章模板堂搜集总结,包括ecshop前台版权,ecshop后台版权,一个都不留,干干净净,推荐收藏 一.去掉网页标题 Powered by ECShop 打开includes/lib_main.p ...