Chinaunix首页 | 论坛 | 博客
  • 博客访问: 369339
  • 博文数量: 159
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 182
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-02 10:42
文章分类

全部博文(159)

文章存档

2015年(18)

2014年(132)

2013年(9)

分类: 云计算

2015-09-14 20:08:42

原文地址:制作可以SSH的docker镜像 作者:frankzfz

 使用下面的dockerfile文件制作可以ssh登录的docker镜像文件:

点击(此处)折叠或打开

  1. #version 0.0.1
  2. FROM centos6.3-base-v2:latest
  3. MAINTAINER frank "XXX.XXX@XXX.XX"

  4. RUN yum -y install passwd
  5. RUN yum -y install sudo

#下面的两句话在制作centos6.3时必须添加,要不启动后无法登录,必须进入到container重新启动ssh服务后,才能登录。

点击(此处)折叠或打开

  1. RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
  2. RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
  3. RUN sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config
  4. RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh
  5. #RUN useradd root
  6. RUN echo "root:root" | chpasswd
  7. RUN echo "root ALL=(ALL) ALL" >> /etc/sudoers

  8. EXPOSE 22

#下面的这个主要是为了获取container中的IP地址,在log

CMD ip addr ls eth0 | awk '{print $2}' | egrep -o '([0-9]+\.){3}[0-9]+';/usr/sbin/sshd –D

  使用上面的Dockerfile文件制作docker images

root@10-10-63-106 docker1]# docker images

REPOSITORY          TAG        IMAGE ID          CREATED           VIRTUAL SIZE

centos6.3-base-v2     latest        007b0b5a9aa3        25 minutes ago      463.7 MB

 使用下面的命令在后台运行,

docker run -d -name=sshtest centos6.3-base-v2:latest

使用docker logs命令查看输出的container中的IP地址,

[root@10-10-63-106 docker1]# docker logs sshtest

172.17.0.31

使用ssh进行登录:

172.17.0.31

[root@10-10-63-106 docker1]# ssh -l root 172.17.0.31

root@172.17.0.31's password:

Last login: Thu Mar 19 02:48:17 2015 from 172.17.42.1

[root@a24ba65993f8 ~]#

阅读(617) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~