zoukankan      html  css  js  c++  java
  • Docker 基础

    一、阿里云加速

    mkdir -p /etc/docker

    tee /etc/docker/daemon.json <<-'EOF'

    {

    "registry-mirrors": ["https://v87slnil.mirror.aliyuncs.com"]

    }

    EOF

    systemctl daemon-reload

    systemctl restart docker

    docker pull registry.cn-shenzhen.aliyuncs.com/centos_7/centos7

    一、镜像重名

    docker images   #查看镜像

    wpsB5F7.tmp

    docker  tag  IMAGE  new_name   #打包镜像

    docker  rmi   repository_name    #删除旧的镜像  

    wpsB608.tmp

    一、安装SSH

    docker run -itd -p 8003:22 -v /data/soft:/data centos7 /bin/bash

    -p 端口映射

    -v 挂载目录

    -itd 交互,分配输入终端,返回容器ID

    docker attach 容器ID  #进入容器交互界面

    #安装ssh

    yum install passwd openssl openssh-server -y

    #生成钥匙

    ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ' '

    ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''

    ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''

    #设置

    是否让 sshd(8) 通过创建非特权子进程处理接入请求的方法来进行权限分离。默认 值是"yes"。认证成功后,将以该认证用户的身份创建另一个子进程。
    这样做的目的是为了防止通过有缺陷的子进程提升权限,从而使系统更加安全。

    sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config

    #启动sshd

    passwd root

    /usr/sbin/sshd -D &

    二、容器打包新镜像

    docker stop 容器ID #先停止容器

    docker commit  98e73e50242f centos7-ssh:tag

    wps22DE.tmp

    docker save -o 名字.tar  容器名:tag   #导出镜像

    docker load -i xxx.tar   #导入镜像

    三、监控容器

    #查看正在运行的容器

    docker ps

    #查看容器日志

    docker logs

    #查看容器内的进程

    docker top 容器

    #查看容器详细信息

    docker inspect 容器

    四、容器build

    docker  build -t 名字:tag .

    wps22EF.tmp

    build ssh

    [root@num-03 docker]# cat Dockerfile

    FROM centos:7

    RUN mkdir /var/run/sshd

    RUN yum install passwd openssl openssh-server -y

    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 ''

    RUN sed -i "s/#UsePrivilegeSeparation.*/UsePrivilegeSeparation no/g" /etc/ssh/sshd_config

    RUN echo 'root:root' | chpasswd

    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    ADD run.sh /root

    RUN chmod +x /root/run.sh

    EXPOSE 22

    CMD ["/root/run.sh"]

    [root@num-03 docker]#

    docker run -itd -p 8003:22 --name ssh ssh:v1 (不能使用docker attach进去)

    ssh -p 8003:22 IP

  • 相关阅读:
    近来有客户要求用table显示一大串数据,由于滚动后就看不到表头,很不方便,所以想到这个效果。
    js如何取当前日期时间/格式为:yyyymmdd hh:mm:ss
    jdk源码分析 – Thread线程类源码分析
    Swing中的MVC
    编程生涯的一次思想总结
    怎样成为高手
    浅谈测试驱动开发(TDD)
    Java RMI之HelloWorld篇(EJB都是建立在rmi基础之上的)
    Swing框架之Model
    EJB 工作原理
  • 原文地址:https://www.cnblogs.com/sunjingjingking/p/9282739.html
Copyright © 2011-2022 走看看