接到了一个需求,需求的内容是需要将测试环境的容器暴露给我们的 外包同事,但是又不能将所有的容器都暴露给他们。
一开始,我分别找了
Portainer
log-pilot
dpanel
它们都拥有非常良好的界面和容器情况可视化。
但,缺点是,社区版的不支持 自定义多用户权限,而专业版的收费。
因此我找到了这个容器暴露方案。
来看看我是怎么做的吧
docker-compose文件
version: "3"
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./data:/data
ports:
- "8080:8080"
restart: always
environment:
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
之后你指定的用户就能看到这批容器的日志了。