Docker之配置Centos_ssh

写Dockerfile配置文件

#Dockerfile
FROM centos:6  #以下命令用在什么镜像中
MAINTAINER cuizhipeng <cuizhipeng@126.com>#维护人员的姓名、联系方式
RUN yum install -y openssh-server sudo
RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config
RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key
EXPOSE 22    #设置一个端口在运行的镜像中暴露在外
RUN echo 'root:123456' | chpasswd
RUN yum install tar gzip gcc vim wget -y
ENV LANG en_US.UTF-8   #设置环境变量
ENV LC_ALL en_US.UTF-8
RUN mkdir /var/run/sshd
CMD /usr/sbin/sshd -D
#End
    然后在文件所在目录下执行 docker build -rm -t liuxin/centos:ssh . (这里有个点,别忽略了),等一会就可以看到过程了,这里就不复制了。
    这里的两条ssh-keygen要加上,如果不加ssh启动就会报错。因为网上大多都是Ubuntu的,当初我照着U的系统来做,根本没成功。理论上来说/usr/sbin/sshd -D就会创建了主机的rsakey,但U系统可以C系统就没成。
    当执行完后,使用docker images就能看到自己创建,如下

[root@localhost ~]# docker images
REPOSITORY                 TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos-ssh                 latest              c0a97978ec5c        52 minutes ago      358.6 MB
liuxin/centos              ssh                 e43a54a1a461        18 hours ago        263.2 MB
centos                     6                   f6808a3e4d9e        4 weeks ago         202.6 MB
centos                     7                   88f9454e60dd        4 weeks ago         210 MB

    然后执行docker run -d -p 22 liuxin/centos:ssh、docker ps -a就可以看到

CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS                   NAMES
72a06bd5bf41        liuxin/centos:ssh   /bin/sh -c '/usr/sbi   About an hour ago   Up About an hour    0.0.0.0:49153->22/tcp   sleepy_euclid      

    这里的49153就是宿主机的端口,22就是Docker的ssh端口
    然后运行ssh 127.0.0.1(或者其它IP) -p 49153 就可以ssh连接到Docker启动的这个了。

    这里没介绍关于Docker的一些常用的命令,可以看下http://blog.chinaunix.net/uid-10915175-id-4443127.html

参考

http://blog.chinaunix.net/uid-10915175-id-4442800.html

参考
https://docs.docker.com/installation/centos/
https://docs.docker.com/userguide/dockerimages/
https://docs.docker.com/examples/running_ssh_service/


原文地址:https://www.cnblogs.com/cuizhipeng/p/4386449.html