zoukankan      html  css  js  c++  java
  • docker使用Dockerfile构建ssh容器

     

    一、使用Dockerfile构建centos

    1、创建 Dockerfile

    mkdir centos # 创建一个目录存放之后的Dockerfile,目录名无所谓
    cd centos # 进入目录
    vi Dockerfile # 创建Dockerfile
    

    将如下内容填入Dockerfile中然后存盘退出

    FROM docker.io/centos
    MAINTAINER rslai "netlrs@163.com"
    RUN yum update -y 
            && yum clean all
    

    注:FROM docker.io/centos :以这个镜像为基础

     MAINTAINER rslai "netlrs@163.com" :镜像的作者说明
     RUN yum update -y : 升级centos到最新
     && yum clean all :清除yum缓存

    2、创建image文件

    docker build -t centos:mycentos -f /root/centos/Dockerfile /root/centos
    #                 库     tag            dokerfile文件      dokerfile目录
    

    3、查看生成的image文件

    docker images
    

     4、创建容器

    docker run -itd --net=none --name=test002 centos:mycentos /bin/bash
    #               不配置网络    容器名称      image TAG     默认启动bash
    

    5、查看创建的容器是否运行

    docker ps
    

    6、给容器指定ip地址

    pipework enp2s0 test002 192.168.2.234/24@192.168.2.1
    #        网卡名 容器名     ip地址           网关
    

    7、进入容器查看ip地址

    docker exec -it test002  /bin/bash # 进入容器
    yum install -y net-tools # 安装网络工具包
    ifconfig # 查看ip地址
    

    二、使用Dockerfile构建待ssh服务的centos

    1、创建 Dockerfile

    mkdir centosssh # 创建一个目录存放之后的Dockerfile,目录名无所谓
    cd centosssh # 进入目录
    vi Dockerfile # 创建Dockerfile
    

    将如下内容填入Dockerfile中然后存盘退出 

    FROM docker.io/centos
    MAINTAINER rslai "netlrs@163.com"
    RUN yum install -y net-tools openssh-server openssh-clients sudo 
            && ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key 
            && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
    EXPOSE 22
    CMD ["/usr/sbin/sshd", "-D"]
    

    说明:

    2、创建image文件

    docker build -t centos:mycentosSsh -f /root/centosssh/Dockerfile /root/centosssh
    #                 库     tag            dokerfile文件      dokerfile目录
    

    3、查看生成的image文件

    docker images
    

     4、创建容器

    docker run -itd --net=none --name=test003 centos:mycentosSsh
    #               不配置网络    容器名称      image TAG     
    

    5、查看创建的容器是否运行

    docker ps
    

    6、给容器指定ip地址

    pipework enp2s0 test003 192.168.2.234/24@192.168.2.1
    #        网卡名 容器名     ip地址           网关
    

    7、进入容器查看ip地址

    docker exec -it test002  /bin/bash # 进入容器
    ifconfig # 查看ip地址

    8、查看sshd进程

    ps -ef
    

      如果没看到可能是第4步创建容器的时候后边跟上了 /bin/bash 这样bash命令优先级高了

    9、远程连接ssh

    useradd rslai # 创建rslai用户
    passwd rslai # 给用户设置密码
    

    10、找一个ssh工具设置ssh连接,ip地址 192.168.2.234 用户名rslai密码你起的

    参见文档:

      https://blog.csdn.net/kongxx/article/details/38412119

  • 相关阅读:
    smobiler介绍(二)
    smobiler介绍(一)
    iOS JS 交互之利用系统JSContext实现 JS调用OC方法以及Objective-C调用JavaScript方法
    iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解
    iOS 解决tableView中headerView头部视图不跟随tableView滑动的方法
    iOS 当使用FD_FullscreenPopViewController的时候遇到scrollView右滑手势无法使用的解决
    iOS 点击左上角系统返回按钮方法
    解决右滑返回手势和UIScrollView中的手势冲突
    Git 常见的命令操作
    iOS Class 使用NSProxy和NSObject设计代理类的差异
  • 原文地址:https://www.cnblogs.com/rslai/p/9074135.html
Copyright © 2011-2022 走看看