zoukankan      html  css  js  c++  java
  • Dockerfile Centos7 安装wget gcc vim vi openssh 并默认启动ssh

    Dockerfile 文档内容

    #设置基本的镜像,后续命令都以这个镜像为基础
    FROM ansible/centos7-ansible:latest
    #作者信息
    MAINTAINER JPinsz
    #安装wget命令
    RUN yum clean all
    RUN yum makecache fast
    RUN yum install wget -y
    #删除默认YUM源,使用YUM源为国内163 YUM源;
    RUN rm -rf /etc/yum.repos.d/*;wget -P /etc/yum.repos.d/ http://mirrors.163.com/.help/CentOS7-Base-163.repo
    #RUN命令会在上面指定的镜像里执行任何命令
    RUN yum install passwd openssh-server gcc -y
    #修改root密码为1qaz@WSX
    
    RUN echo '123' | passwd --stdin root
    #设置镜像SSHD服务为TCP 6022端口
    RUN sed -i 's/#Port.*/Port 6022/g' /etc/ssh/sshd_config
    #安装vi、vim、wget、tar、make、netstat、ifconfig等
    RUN yum install vi vim wget tar make net-tools -y
    #创建用于存储应用数据目录/data/
    RUN mkdir -p /data/
    #将应用数据存储目录/data/进行映射,可以实现数据持久化保存;
    VOLUME ["/data/"]
    #暴露ssh端口6022
    EXPOSE 6022
    #设定运行镜像时的默认命令,并以daemon方式启动sshd
    #基于镜像运行启动时,启动SSHD服务,能够实现远程访问
    RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
    RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
    RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
    CMD /usr/sbin/sshd -D
    

     镜像制作

    docker bulid -t centos7:v1 .
    

     查看镜像

    docker images
    

     

     启动容器

    # -d –detach daemon后台模式运行容器,并且打印容器id。
    # -i –interactive 即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用
    # -t –tty 分配一个伪tty,一般与 -i 连用。
    # -v 指定宿主机到容器的目录挂载
    # --privileged 授予容器最高权限运行
    docker run -itd --privileged -v /data/:/data/ centos7:v1
    

     登录到容器

    # 其中/bin/bah 与 bash 暂时来说效果一致
    docker exec -it docker-id /bin/bash
    
  • 相关阅读:
    机器学习书籍推荐
    25个机器学习面试题,期待你来解答
    观点 | 如何优雅地从四个方面加深对深度学习的理解
    Azure Public IP DNS域名
    SSH不允许Root登陆的方法
    MySQL on Azure高可用性设计 DRBD
    Linux ssh 不需要输入密码的方法
    MySQL on Azure高可用性设计 DRBD
    Express Route的配置
    Azure PIP (Instance Level Public IP)
  • 原文地址:https://www.cnblogs.com/jpinsz/p/13558895.html
Copyright © 2011-2022 走看看