docker compose与vulhub(四)

https://whale3070.github.io/tools/2019/08/19/07-x/

在上一篇中,我用kali安装了docker,使用了dockerfile来新建容器。这次学习一下docker compose。

dockerfile与compose有什么区别

dockerfile与build命令是从无到有构建新镜像

而compose是组合多个镜像,例如需要构建一个python flask应用,该应用需要python环境,需要redis数据库,那么用docker compose就可以将多个已有的image组合在一起,形成新的image。

docker官方推荐每个docker容器只运行1个进程。所以当我们需要多个image的时候,就可以使用compose进行管理。

安装compose

1
2
pip install -U docker-compose
docker-compose --version

compose 是组成的意思

python flask案例

源码下载地址:https://github.com/guanwei/dockerbook-code/tree/master/7/composeapp

第一步,构建新的image。图中的文件都可以在上面的链接中进行下载。
docker build -tjamtur01/composeapp .

第二步,需要一个yml文件

使用docker-compose up,组合容器。docker-compose up -d 可以后台模式运行。

访问浏览器本地的5000端口,即可。ctrl+c 关闭正在运行的服务

docker-compose ps

可以看到正在运行的所有服务,刚刚开启的redis服务器以及flask web服务。

compose命令

compose日志

docker-compose logs

停止容器

docker-compose stop

或者docker-compose kill

删除容器

docker-compose rm

问题

当遇到Cannot connect to the Docker daemon... 的错误时

运行service docker start 开启docker服务

vulhub使用指南

好了,刚刚我们已经介绍了docker compose的使用,那么用vulhub来搭建漏洞环境也是得心应手的事情了
vulhub使用指南

按照上述链接中,下载该项目,切换到项目,用docker-compose下载必须的容器运行,即可。