• Docker技术入门之---为镜像添加SSH服务(7)


    本章将详细介绍创建容器的两种方法:

    • 基于Docker commit命令创建
    • 基于Dockerfile创建

    基于docker commit命令创建一个容器

       首先,启动一个centos容器

      # docker run -it centos /bin/bash

      安装openssh-server net-tools服务

      # yum -y install openssh-server net-tools

      修改/etc/ssh/sshd_config配置文件,并将HostKey /etc/ssh/ssh_host_ecdsa_key和HostKey /etc/ssh/ssh_host_ed25519_key注释掉。

      HostKey /root/.ssh/id_rsa
      #HostKey /etc/ssh/ssh_host_rsa_key
      #HostKey /etc/ssh/ssh_host_dsa_key
      #HostKey /etc/ssh/ssh_host_ecdsa_key
      #HostKey /etc/ssh/ssh_host_ed25519_key  

      使用命令ssh-keygen生成秘钥对

      # ssh-keygen -t rsa

       通过命令将容器commit成镜像。

      # docker commit af81653210eb sshd/centos:0.1

      启动新生成的镜像

      # docker run -itd -p 2222:22 sshd/centos:0.1 /bin/bash

      在宿主主机(192.168.1.200)或其他主机上上,可以通过SSH访问2222端口来登录容器

      # ssh  10.10.0.164 -p 2222

    使用Dockerfile创建

      创建工作目录

      # mkdir docker

      在docker中创建Dockerfile

    # 设置继承镜像
    FROM centos:latest
    # 提供一些作者的信息
    MAINTAINER weidong (weidong@docker.com)
    ENV ROOT_PASSWORD 123456
    # 下面开始安装ssh服务
    RUN yum -y install openssh-server net-tools vim
    RUN echo $ROOT_PASSWORD |passwd --stdin root
    
    RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
    RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    
    EXPOSE 22
    
    CMD ["/usr/sbin/sshd", "-D"]
    

       创建镜像

      # docker buile -f docker/dockerfile -t sshd/centos:0.1 .

      

      

      

    不积跬步,无以至千里;不积小流,无以成江海。
  • 相关阅读:
    编程与操作系统
    maven环境快速搭建
    Maven那点事儿(Eclipse版)
    几种简单的负载均衡算法及其Java代码实现
    Java集合中那些类是线程安全的
    自己随手的一些知识点
    设计模式(一)—— 策略模式
    Unity Audio Source Properties
    [转载]Web前端和后端之区分,以及面临的挑战
    TestNG 与 Junit的比较(转)
  • 原文地址:https://www.cnblogs.com/weidongliu/p/11226052.html
Copyright © 2020-2023  润新知