docker命令总结(持续更新)

2019-02-19  本文已影响0人  zhenx1n

目录

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只启动一个封装好的镜像。)
上一篇下一篇

猜你喜欢

热点阅读