• Docker容器的使用


    目录

    Docker容器和KVM虚拟化

    Docker的安装和使用

    基于Docker的漏洞复现环境Vulhub的使用 


    Docker容器和KVM虚拟化

          Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。docker容器是一种轻量级、可移植、自包可以在含的软件打包技术,使应用程序几乎任何地方以相同的方式运行。开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。容器是完全使用沙箱机制,相互之间不会有任何接口,几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架包括系统。简单的说,容器就是在隔离环境运行的一个进程,如果进程停止,容器就会销毁。隔离的环境拥有自己的系统文件,IP地址,主机名等。

    Docker技术介绍:Docker是通过内核虚拟化技术(namespaces及cgroups cpu、内存、磁盘io等)来提供容器的资源隔离与安全保障等。由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率。

    Linux容器技术,容器虚拟化和kvm虚拟化的区别:

    • 容器:共用宿主机内核,运行服务,损耗少,启动快,性能高
    • 容器虚拟化:不需要硬件的支持。不需要模拟硬件,共用宿主机的内核,启动时间秒级(没有开机启动流程)
    • kvm虚拟化: 需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级(开机启动流程)

    Docker和KVM虚拟化的优点

    • Docker解决了软件和操作系统环境之间的依赖,能够让独立服务或应用程序在不同的环境中,得到相同的运行结果。docker镜像有自己的文件系统。
    • Kvm解决了硬件和操作系统之间的依赖,Kvm独立的虚拟磁盘,xml配置文件。

    Docker的安装和使用

    curl -s https://get.docker.com/ | sh   #一键安装Docker,root权限运行。参考链接:https://vulhub.org/#/docs/install-docker-one-click/
    
    docker version                  #查看docker的版本
    
    #配置docker镜像加速
    vi /etc/docker/daemon.json
    {
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }    
    
    
    #docker的使用
    systemctl start docker              #启动
    systemctl daemon-reload             #守护进程重启
    systemctl restart  docker           #重启docker服务 
    systemctl stop docker               #关闭docker 
       
    
    #docker镜像的管理
    docker images -a               #查看所有的镜像
    docker rm    #删除镜像            例子:docker image rm centos:latest    
    docker save  #导出镜像            例子:docker image save centos > docker-centos7.4.tar.gz  
    docker load  #导入镜像            例子:docker image load -i docker-centos7.4.tar.gz  
    
    
    #容器的管理
    
    #启动容器
        docker run 容器名字
    
    #停止容器
        docker stop 容器ID
    #杀死容器
        docker kill 容器名字
    #查看容器列表
        docker ps
        docker ps –a 
        
    #进入容器(目的,调试,排错)
    ***    docker exec  (会分配一个新的终端tty)
            docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
            
        docker exec -it  容器id或容器名字 /bin/bash(/bin/sh)
            
        docker attach(使用同一个终端)
            docker attach [OPTIONS] CONTAINER
            
        nsenter(安装yum install -y util-linux 弃用)
    
    #删除容器
        docker rm
    #批量删除容器
        docker rm -f `docker ps -a -q`
    
    注:docker容器内的第一个进程(初始命令)必须一直处于前台运行的状态(必须夯住),否则这个容器,就会处于退出状态!

    基于Docker的漏洞复现环境Vulhub的使用 

    vulhub的地址:https://vulhub.org

    Vulhub是一个基于 docker 和 docker-compose 的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境。

    关于如何安装 Docker 和 Docker-compose 就不再赘述。直接启动对应靶机的容器。

    启动Docker:systemctl  start  docker

    进入对应的靶机目录,这里我选择weblogic的CVE-2017-10271漏洞,直接一键启动:docker-compose up -d

    在漏洞复现完成后,还是在漏洞的目录下移除环境,命令:docker-compose  down

    参考文章:Docker容器的安装与使用 

  • 相关阅读:
    poj1087最大流拆点
    3月15上午的函数练习
    3月15
    3月13上午
    3月13
    3月12
    break语句
    3月11
    3月10号
    3月9号
  • 原文地址:https://www.cnblogs.com/csnd/p/11807648.html
Copyright © 2020-2023  润新知