qns_fengyusong 发表于 2015-12-25 07:09:28

制作可以SSH的docker镜像

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



[*]#version 0.0.1

[*]FROM centos6.3-base-v2:latest
[*]MAINTAINER frank "XXX.XXX@XXX.XX"
[*]
[*]RUN yum -y install passwd
[*]RUN yum -y install sudo
  #下面的两句话在制作centos6.3时必须添加,要不启动后无法登录,必须进入到container重新启动ssh服务后,才能登录。



[*]RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key

[*]RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
[*]RUN sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config
[*]RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh
[*]#RUN useradd root
[*]RUN echo "root:root" | chpasswd
[*]RUN echo "root ALL=(ALL)ALL" >> /etc/sudoers
[*]
[*]EXPOSE 22
  #下面的这个主要是为了获取container中的IP地址,在log中
  CMD ip addr ls eth0 | awk '{print $2}' |egrep -o '(+\.){3}+';/usr/sbin/sshd –D
  使用上面的Dockerfile文件制作dockerimages,
  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=sshtestcentos6.3-base-v2:latest
  使用docker logs命令查看输出的container中的IP地址,
  # docker logssshtest
  172.17.0.31
  使用ssh进行登录:
  172.17.0.31
  # ssh -l root172.17.0.31
  root@172.17.0.31's password:
  Last login: Thu Mar 19 02:48:17 2015 from172.17.42.1
  #
页: [1]
查看完整版本: 制作可以SSH的docker镜像