1、创建存放dockerfile的文件夹
执行命令如下:
        mkdir docker
        cd docker
        mkdir sshImages
        cd sshImages
        touch Dockerfile
        vi Dockerfile
2、修改Dockerfile文件
Dockerfile内容如下:
      FROM centos
        MAINTAINER linzf <282245889@qq.com>
        # 安装openssh-server和sudo软件包,并且将sshd的UsePAM参数设置成no,同时设置sshd的连接的密码是123456
        RUN yum install -y openssh-server sudo
        RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
        RUN echo "root:123456" | chpasswd
        #下面这两句比较特殊,在centos6上必须要有,否则创建出来的容器sshd不能登录  
        #将基础镜像的/etc/ssh/目录下的ssh_host_rsa_key  ssh_host_rsa_key.pub  
        #和ssh_host_dsa_key  ssh_host_dsa_key.pub 删除或者下面的不执行 
        RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
        RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
        #启动sshd服务并且暴露22端口
        RUN mkdir /var/run/sshd
        EXPOSE 22
        CMD ["/usr/sbin/sshd", "-D"]
3、使用docker build命令来创建镜像
    sudo docker build -t "centos6.5-ssh" .
4、查看是否创建成功并启动镜像
    docker images

    docker run -d -P --name=test centos6.5-ssh  
5、查看是否创建成功
   docker ps命令查看当前从容器中映射出来的端口如下:
可以看到懂容器centos6.5-ssh中22端口映射到当前系统的32768端口,因此我们可以直接用SSH来连接我们的centos6.5-ssh镜像
6、SSH远程连接镜像
直接在运行docker的linux服务器运行以下命令:
    ssh 192.168.44.128 -p 32768
先会让你输入密码,密码输入正确则进入了我们的centos-ssh镜像中,表面我们的镜像的ssh已经配置成功了。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐