docker 日志暴露方案 (带权限 还 免费 版本)
接到了一个需求,需求的内容是需要将测试环境的容器暴露给我们的 外包同事,但是又不能将所有的容器都暴露给他们。
一开始,我分别找了
Portainer
log-pilot
dpanel
它们都拥有非常良好的界面和容器情况可视化。
但,缺点是,社区版的不支持 自定义多用户权限,而专业版的收费。
因此我找到了这个容器暴露方案。
来看看我是怎么做的吧
docker-compose文件
version: "3"
services:dozzle:image: amir20/dozzle:latestcontainer_name: dozzlevolumes:- /var/run/docker.sock:/var/run/docker.sock- ./data:/dataports:- "8080:8080"restart: alwaysenvironment:DOZZLE_AUTH_PROVIDER: simple
然后利用下面的命令生成 权限文件
docker run -it --rm amir20/dozzle generate admin --password password --email test@email.net --name "John Doe" --user-filter name=foo > users.yml
生成的文件放在data文件夹中挂载进去
其中,在上面生成users.yml的命令中,name=foo,表示只能访问容器名是foo的容器。
如果你想添加多个容器名
就写 name=foo,name=foo1
之后你指定的用户就能看到这批容器的日志了。