写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/

Docker之配置Centos_ssh的更多相关文章

  1. Docker下配置双机热备PXC集群

    架构: 步骤: 1.安装centos7   ,设置宿主机IP:192.168.1.224 2.先更新yum软件管理器,再安装docker 1.yum -y update 2.yum install - ...

  2. 解决docker主机配置了DaoCloud.io的加速后重启失败问题Failed to start Docker Application Container Engine

    问题说明 正常运行的docker主机配置了DaoCloud.io加速后重启报如下错 解决过程 问题原因: 重新配置加速器后发现,daocloud的配置信息是写在/etc/docker/daemon.j ...

  3. CentOS上安装 Docker-CE以及Docker 加速器配置

    在CentOS 7.0上安装 Docker-CE 官方源安装教程 https://docs.docker.com/install/linux/docker-ce/centos/#install-usi ...

  4. PhpStorm连接Docker容器配置xdebug断点调试

    本教程主要演示xdebug在PhpStorm中配置方法. 一.环境说明 1.Mac笔记本(本教程演示过程使用的是Mac OS操作系统,和windows环境是有区别的,这一点需要特别注意): 2.在Ma ...

  5. docker安装配置gitlab详细过程

    docker安装配置gitlab详细过程   获取镜像 1.方法一 1 docker pull beginor/gitlab-ce:11.0.1-ce.0 2.方法二如果服务器网路不好或者pull不下 ...

  6. docker容器配置独立ip

    一般安装docker后都会通过端口转发的方式使用网络,比如 “-p 2294:22” 就将2294抓发到22端口来提供sftp服务,这样使用起来没有问题.但端口号很难记忆,如果前边有nginx等抓发工 ...

  7. docker——网络配置

    一.网络启动与配置参数 Docker启动时会在主机上自动创建一个docker0虚拟网桥,实际上是一个Linux网桥,可以理解为一个软件交换机,它会在挂载其上的接口之间进行数据转发.同时,Docker随 ...

  8. Docker中配置国内镜像

    1. 为什么要为docker配置国内镜像   在正常情况下,docker有一个默认连接的国外官方镜像,在国外的网友访问该官方镜像自然不成问题,但是国内毕竟不是国外,由于国情不同,中国的网络访问国外官方 ...

  9. docker安装配置

    ########################################## #docker安装配置 #环境centos7 #配置docker阿里源 echo '#Docker [docker ...

随机推荐

  1. Script.NET Perl解释器代码已经在GitHub开源发布

    Script.NET Perl解释器的代码已经提交到GitHub网站.GitHub项目地址: https://github.com/blueantst/Script.NET Perl解释器代码在Src ...

  2. cocos2d-x 屏幕适配新解

    转自:http://blog.leafsoar.com/archives/2013/05-10-19.html 为了适应移动终端的各种分辨率大小,各种屏幕宽高比,在 cocos2d-x(当前稳定版:2 ...

  3. [转]把项目从VS2005升级到VS2013

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://rangercyh.blog.51cto.com/1444712/1394348 ...

  4. SQL中使用WITH AS提高性能(二)

    继上一节 对比两条查询,第一是用了with as 第二条语句没用with as 查看执行计划的效果 WITH vep AS ( SELECT package.OrderCode , RANK() OV ...

  5. 判断jsp中是否存在某个javascript函数

    //判断父页是否存在某个javascript函数 function fnExist(fnName) { //return fnName in this && eval(fnName) ...

  6. winform button设计(一)

    对于winform的button设计来说,vs真心没有给太多的样式布局.为了能给予用户更加人性化的界面.我们在做程序时往往会设计美观的button. 比方,我今天在设计一个项目button时,我想将b ...

  7. google perftools分析程序性能

    Google perftools 1.功能简介 它的主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目 ...

  8. 编译openjdk源码

    http://www.cnblogs.com/ACFLOOD/p/5528035.html

  9. c语言学习

    #include <stdio.h>void sum_diff(int *n1,int *n2,int *sum,int *diff){ *sum=*n1+*n2; *diff=(*n1& ...

  10. Volley完全解析

    从前在学校用的最多的网络请求框架就是AsyncHttpClient,用久了发现这样一个问题,就是代码复用太难,基本上做不到,所以有一段时间又回归了HttpURLConnection和HttpClien ...