创建带ssh服务的CentOS Docker镜像

一、下载centos镜像
命令:
  docker pull centos
解释:
  docker pull【拉取命令】centos【镜像名(可指定版本号,例如:centos:centos7.1)】
二、启动centos Docker容器,并使用bash控制台进入容器内
命令:   
  docker run -it —name=centos-sshd centos /bin/bash
解释:
  docker run【运行命令】-it【可交互参数】—name=centos-sshd【自定义容器名称参数】centos【镜像名参数】/bin/bash【bash指令参数】
三、更新yum环境
命令:  
  yum update
解释:
  yum update【更新命令】
四、安装vim
命令:
  yum install vim
解释:
  yum install【安装命令】 vim【软件名称】
五、安装openssh-server
命令:
  yum install openssh-server
解释:
  yum install【安装命令】openssh-server【软件名称】
六、安装openssh-clients
命令:
  yum install openssh-clients
解释:
  yum install【安装命令】openssh-clients【软件名称】
七、编辑sshd配置文件
操作:
  1、vim /etc/ssh/sshd_config
  2、查找  /UsePAM
  3、修改设置 UsePAM no
  4、注释#HostKey /etc/ssh/ssh_host_ecdsa_key
  5、注释#HostKey /etc/ssh/ssh_host_ed25519_key
  6、保存退出
八、生成ssh rsa 公钥
命令:
  ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
解释:
  ssh-keygen -t rsa【生成算法】 -b 2048【算法位数】-f /etc/ssh/ssh_host_rsa_key【文件路径与文件名】
九、编辑ssh key文件
 操作:
  1、宿主机中 vim /Users/freedoms/.ssh/id_rsa.pub,并复制其中内容,若没有则需要在宿主机中生成
  2、容器中 vim /root/.ssh/authorized_keys,将宿主机中复制的公钥贴入,若无/root/.ssh/authorized_keys,则需要创建
  3、保存退出
十、设置容器root用户登录密码
命令:
  echo “root:zztXXXXzzt”|chpasswd
解释:
  修改root用户登录密码
十一、启动sshd服务
命令:
  1、systemctl start sshd.service
  2、systemctl enable sshd.service
解释:
  1、systemctl start【启动】sshd.service【服务名称】
  2、systemctl enable【开机自启动】 sshd.service【服务名称】
十二、退出容器
命令:
  exit
解释:
  退出
十三、生成支持ssh的centos镜像
命令:
  1、docker ps -a
  2、docker commit 6c40d0d2d8e centos7-sshd
  3、docker images
解释:
  1、docker ps【列出容器列表】 -a【可选参数,列出未启动容器列表】
  2、docker commit【提交】6c40d0d2d8e【上一步中容器id】 centos7-sshd【自定义镜像名称】
  3、docker images【列出本地镜像列表】
十四、使用生成的镜像运行容器
命令:
  docker run -p 10022:22 -d freedoms1988/centos7-sshd /usr/sbin/sshd -D
解释:
  docker run【运行命令】 -p 10022:22【宿主机端口:容器端口】 -d freedoms1988/centos7-sshd【本地镜像名】 /usr/sbin/sshd -D【启动sshd命令】
十五、测试
操作:
  在宿主机输出ssh root@localhost -p 10022
结果:
  应正确登录到容器内
十六、将镜像打包后,提交到DockerHub

向DockerHub私有库中提交镜像

十七、Dockerfile

GitHubDockerHub

你可能感兴趣的:(创建带ssh服务的CentOS Docker镜像)