美文网首页
docker命令总结(持续更新)

docker命令总结(持续更新)

作者: zhenx1n | 来源:发表于2019-02-19 23:02 被阅读0次

    目录

    docker的作用 
    docker常用参数及命令 
    添加docker 
    删除docker 
    让docker在后台运行 
    进入在后台运行的docker 
    对正在运行的docker进行的一些操作 
    docker与主机之间传输文件 
    对正在运行的容器添加端口映射或者更改端口映射 
    docker的几个网络模式 
    将更改内容的docker 打包并迁移
    使用docker快速搭建一个WordPress站点 
    快速搭建漏洞环境
    

    docker的作用

        想要在linux上搭建某个特定的环境,比如搭建巡风(内网扫描),  或一个很好的ctf题而且有
    docker环境,  又或者一个简单的博客等等。自己配置可能需要一天甚至几天,但是使用docker就会非常
    方便,几分钟环境就搭建好了,docker会让你更专注于目标本身,而不是目标之外的其他繁杂的事情。
    当然仅限于linux环境,可能docker的使用量与发量成反比。hhh
    

    docker常用参数及命令

        docker command --help 查看帮助一个命令的详细参数      
        docker run [OPTIONS] IMAGE [COMMAND] [ARG...]   
        -d  Run container in background and print container ID    
        -i    Keep STDIN open even if not attached   
        -t    Allocate a pseudo-TTY    
        
        docker ps [OPTIONS]     
        -a, --all Show all containers (default shows just running)     
        docker ps -a  查看所有的docker容器         
        
        docker exec [OPTIONS] CONTAINER COMMAND [ARG...]     
        docker exec -ti contain_id/name /bin/bash  进入容器交互式的bash命令          
         
        docker run的对象是一个image, docker exec的对象是container。     
    

    添加docker

    1. docker search
    2. docker run -ti imageid /bin/bash
    3. exit(docker 直接退出)
    4. docker  run -tid imageid  /bin/bash  (将docker以进程方式运行在后台)
    

    删除docker

    1. docker ps -a
    2. docker stop containid
    2. docker image rm imageid  (可以不执行这条命令,这条命令直接删除镜像)
    

    让docker在后台运行

    1. docker images
    2. docker run -tid imageid /bin/bash(d 相当于以进程方式运行在后台)
    

    进入在后台运行的docker

    1. docker exec -ti  containid /bin/bash
    2. exit (还是在后台运行)
    

    对正在运行的docker进行的一些操作

    docker stop containid          (停止docker)
    docker start containid          (启动停止的dockerdocker)
    docker restart containid      (重新启动docker)
    

    docker与主机之间传输文件

    docker cp /root/file.zip containid:/tmp/file.zip
    docker cp containid:/tmp/file2.zip /root/file.zip
    

    对正在运行的容器添加端口映射或者更改端口映射

       网上有很多使用iptables方法或者是重新制作镜像来实现这个功能,但是在linux上最优雅的还是直接  
    修改配置文件(/var/lib/docker/containers/containid/)。
    
    service docker stop
    vim hostconfig.json
        portbindings: "80/TCP":[{"HostIp":"0.0.0.0","HostPort":"80"}]
    vim config.v2.json
        ports:{"80/TCP":[{"HostIp":"0.0.0.0","HostPort":"80"}]}
    service docker restart
    

    docker的几个网络模式

    参数: --network [OPTIONS]
    默认是dridge,虚拟网卡模式。
    bridge 默认,使用一个虚拟网卡,这个模式下主机和容器相当于在一个虚拟网桥上。
    host 和主机在同一个网络,和主机使用同一个ip,可以访问局域网。
    none  不配置任何ip、网卡信息等,不常用。
    container 和某个docker共享网络 --network=container:containid
    

    将已更改内容的docker 打包并迁移

    docker save containid > containid.img  (保存一个未运行的container,相当于image)
    docker load < containid.img 
    docker tag containid tag:tag 
    
    docker export containid > containid.tar   (保存一个运行中或暂停的container)
    cat containid | docker  import - tag/tag:v1.0
    

    使用docker快速搭建一个WordPress站点

    1. docker search wordpress
    2. docker pull wordpress
    3. docker ps -a
    4. docker -tid imageid /bin/bash
    5. docker exec dockerid /bin/bash
    6. which apache2
    7. which php
    8. find / -name "*wordpress*"
    9. curl localhost(访问一下本地)
    10. cp -R ./ /var/www/html
    11. cd /var/www/html
    12. chmod 755 -R ./
    13. chown www-data:www-data -R ./
    14. curl localhost -I
    15. docker ps -aq 获取dockerid
    16. docker stop `docker ps -aq` && docker rm `docker ps -qa` 直接删除docker
    17. docker rmi imageid
    

    快速搭建漏洞环境

    以phithon牛的vulhub为例
    https://github.com/vulhub/vulhub/blob/master/weblogic/CVE-2018-2894/
    
    vim docker-compose.yml
    docker-composer -d
    docker-compose up -d .
    (docker-composer和docker区别:docker-composer将几个封装好的docker镜像启动,比如同时需要  
    linux,mysql,jboss等服务,但服务不在同一个镜像上,使用配置文件docker-composer.yml来将它们
    组合在一起;而docker只启动一个封装好的镜像。)
    

    相关文章

      网友评论

          本文标题:docker命令总结(持续更新)

          本文链接:https://www.haomeiwen.com/subject/bghqyqtx.html