每个用户的新docker容器

时间:2017-03-26 09:27:04

标签: apache docker

我正在构建一个“hackme”挑战。用户可以通过黑客入侵网站并获得root访问权限。

我在docker容器中制作了这个,以防止用户伤害主机或其他游戏(容器)。

我不能只为每个用户将其重定向到不同的端口,因为用户只需端口扫描服务器并找到不同的容器。

我想要的是http://example.com/challange1/A1B2C3 “A1B2C3”是他们自己容器的唯一标识符。

有人可以告诉我该怎么做吗?

2 个答案:

答案 0 :(得分:0)

使用nginx,您可以执行以下操作 - 您可以重写给定路径的请求,例如:https://gist.github.com/soheilhy/8b94347ff8336d971ad0#step-7----rewriting-requests

此处的名称是现有的运行容器。

3

答案 1 :(得分:0)

我会和Jwilder / Nginx一起完成这项任务。刚开始不同 带有"随机"的容器子域。

启动Nginx / Jwilder

docker run -d -p 80:80 -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

启动容器

   for i in {1..5}
    do
      docker run -e VIRTUAL_HOST=foo-$i.bar.com mycontainer
    done

Jwilder / Nginx将在每个启动的容器上更新,并将进行注册 新的VHOST。