docker简单使用
最近测试一漏洞,为了方便就没自己搭环境,使用别人封装好的docker镜像,本来没打算单独发出来,但实验遇到点问题,昨天今天加起来花了半天时间,还没搞定,漏洞复现后期要是搞定了再发。
安装
# 查看linux内核版本
uname -r (要求内核版本高于 3.10)
# 安装pip3
curl -s https://bootstrap.pypa.io/get-pip.py | python3
# 安装最新版docker
curl -s https://get.docker.com/ | sh
或 wget -qO- https://get.docker.com/ | sh
# 启动docker服务
service docker start
# 安装compose
pip3 install docker-compose
使用
# 拉取项目
git clone https://github.com/testuser/test.git
cd test
# 进入某一个漏洞/环境的目录
cd xxx
# 自动化编译环境
docker-compose build
# 启动整个环境
docker-compose up -d
# 测试完后删除关闭整个环境
docker-compose down
其他
-
docker images 列出当前镜像
-
docker search ubuntu 查询某个(如ubuntu、kali)镜像
-
docker pull ubuntu 拉取安装某个镜像
-
docker run --name=redisvul -d -p 6379:6379 medicean/vulapps:r_redis_1 用medicean/vulapps:r_redis_1镜像来创建一个名为redisvul的容器
具体参数使用 docker run --help 查询,退出容器用 exit ,退出后该容器也中止运行,因为此容器以bash shell运行,退出终端就退出了容器。 -
docker rm id/name 删除某个容器
-
docker rmi id/name 删除某个镜像
删除镜像前必须使用该镜像的容器中止运行,且需先删除容器,才能删除镜像 -
docker ps 查看当前正在运行的容器
-
docker ps -a 查看所有容器的状态
-
docker start/stop/restart id/name 启动/停止/重启某个容器
-
docker attach id 进入某个容器(使用exit退出后容器也跟着停止运行)
-
docker exec -i -t name /bin/bash 进入指定容器,退出后容器正常运行
-
docker-compose exec weblogic bash 进入某docker的bash交互模式
-
docker stats 查询所有容器的状态
-
docker port id 查询某个容器使用的端口
-
docker logs id 查询某个docker的日志