安装Dozzle
,v6.3.0
运行Dozzle v6.3.0
支持的环境变量:dozzle.dev/guide/suppo...
不带密码的方式
shell
docker run --name dozzle \
-p 8080:8080 \
-v /run/docker.sock:/var/run/docker.sock:ro \
-d amir20/dozzle:v6.3.0
simple
方式的权限认证
通过设置
--auth-provider
为simple
来支持多用户身份验证。在此模式下,Dozzle将读取/data/users.yml
sh
docker run --name dozzle \
-p 8080:8080 \
-e DOZZLE_AUTH_PROVIDER=simple \
-v /run/docker.sock:/var/run/docker.sock:ro \
-v /data/docker/dozzle/data:/data \
-d amir20/dozzle:v6.3.0
-
用户账号密码配置文件
密码使用sha256进行哈希处理,在
Linux
中可以使用echo -n 'admin@234' | shasum -a 256
或者echo -n 'admin@234' | sha256sum
生成密码
yaml
users:
# "admin" here is username
admin:
name: "Admin"
# Just sha-256 which can be computed with "echo -n 'admin@234' | shasum -a 256"
password: "bb74269430ae549706b3ac30f5af7236297e7edae282914f7ec6f3b688de58c9"
email: admin@dozzle.com
guest:
name: "查看员"
# Just sha-256 which can be computed with "echo -n 'guest@123' | shasum -a 256"
password: "a494070039624806e81be390b0db35af8023bad980c9b216afdd16da099f1fca"
email: guest@dozzle.com
配置支持容器启停
操作
添加环境变量
DOZZLE_ENABLE_ACTIONS
等于true
shell
docker run --name dozzle \
-p 8080:8080 \
-e DOZZLE_AUTH_PROVIDER=simple \
-e DOZZLE_ENABLE_ACTIONS=true \
-v /run/docker.sock:/var/run/docker.sock:ro \
-v /data/docker/dozzle/data:/data \
-d amir20/dozzle:v6.3.0
多个远程主机支持配置不使用TLS证书(不建议)
docker
2375
端口默认没有开启任何认证,这样使得docker
极不安全的
建议使用TLS证书对docker
2375
端口进行通讯
-
配置不带
TLS
的远程访问在需要远程访问的目标服务器配置
docker
远程访问-
编辑
/usr/lib/systemd/system/docker.service
文件修改
ExecStart
的值,添加-H tcp://0.0.0.0:2375
如下:sh# 配置不带 TCP + TLS 认证 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --containerd=/run/containerd/containerd.sock
-
重载
systemctl
配置shsudo systemctl daemon-reload
-
重启 Docker
shsudo systemctl restart docker.service
-
验证更改是否成功
shsudo netstat -lntp | grep dockerd tcp 0 0 127.0.0.1:2375 0.0.0.0:* LISTEN 3758/dockerd
-
-
运行容器
shelldocker run --name dozzle \ -p 18081:8080 \ -e DOZZLE_ENABLE_ACTIONS=true \ -e DOZZLE_HOSTNAME=192.168.1.9 \ -e DOZZLE_REMOTE_HOST=tcp://192.168.1.253:2375,tcp://192.168.1.254:2375,tcp://192.168.1.6:2375 \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -d amir20/dozzle:v6.3.0
多个远程主机支持配置使用TLS证书(建议)
推荐一个生成证书的脚本:gitee.com/dromara/Jpo...
-
执行生成证书脚本
在需要查看日志的远程主机上执行
shellwget https://gitee.com/dromara/Jpom/raw/master/script/docker-tls.sh sh docker-tls.sh
输入的
ip
或host
应该是 需要查看日志的远程主机ip
或host
生成成功打印:
-
配置带
TLS
的远程访问在需要远程访问的目标服务器配置
docker
远程访问-
编辑
/usr/lib/systemd/system/docker.service
文件修改
ExecStart
的值,添加-H tcp://0.0.0.0:2375
如下:sh# 配置不带 TLS 认证 ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 --tlsverify --tlscacert=/docker/tls/ca.pem --tlscert=/docker/tls/server-cert.pem --tlskey=/docker/tls/server-key.pem
-
重载
systemctl
配置shsudo systemctl daemon-reload
-
重启 Docker
shsudo systemctl restart docker.service
-
-
挂载证书
所有证书需要挂载到
/certs
目录下,目录下应该有:key.pem
、ca.pem
、cert.pem
多个远程主机使用
{host}
区分,如:/cert/192.168.1.253/
目录下应该有:key.pem
、ca.pem
、cert.pem
-
运行容器
shdocker run --name dozzle \ -p 18081:8080 \ -e DOZZLE_AUTH_PROVIDER=simple \ -e DOZZLE_HOSTNAME=192.168.1.252 \ -e DOZZLE_REMOTE_HOST=tcp://192.168.1.253:2375,tcp://192.168.1.254:2375 \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -v /data/docker/dozzle/data:/data \ -v /data/docker/dozzle/certs:/certs \ -d amir20/dozzle:v6.2.6