Realtime docker logs through the browser
Clone or download
Latest commit 0cb83dc Jan 2, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
__snapshots__ Adds more tests Dec 4, 2018
assets Fixes #12 Dec 13, 2018
docker Fixes messages possible deadlock Dec 5, 2018
.babelrc Updates babel Nov 1, 2018
.editorconfig Uses 4 spaces Nov 30, 2018
.gitattributes Adds snapshot as binary Nov 29, 2018
.gitignore Fixes memory leaks Nov 27, 2018
.goreleaser.yml Adds clean and release in npm Nov 19, 2018
.prettierrc.json Adds prettier Nov 18, 2018
.reflex Adds reflex config Dec 3, 2018
.travis.yml Adds gomod Dec 9, 2018
Dockerfile Adds goreleaser Oct 30, 2018
LICENSE Initial commit Oct 30, 2018 Update Dec 15, 2018
demo.gif Updates demo Nov 20, 2018
go.mod Updates go mods Jan 2, 2019
go.sum Updates go mods Jan 2, 2019
main.go Moves version up Dec 15, 2018
main_test.go Adds more tests Dec 4, 2018
package-lock.json Updates js libs Jan 2, 2019
package.json Updates js libs Jan 2, 2019

Go Report Card Build Status Docker Pulls Docker Size Docker Version


Dozzle is a log viewer for Docker. It's free. It's small. And it's right in your browser. Oh, did I mention it is also real-time?

While dozzle should work for most, it is not meant to be a full logging solution. For enterprise use, I recommend you look at Loggly, Papertrail or Kibana.

But if you don't want to pay for those services, then you are in luck! Dozzle will be able to capture all logs from your containers and send them in real-time to your browser. Installation is also very easy.


Getting dozzle

Dozzle is a very small Docker container (4 MB compressed). Pull the latest release from the index:

$ docker pull amir20/dozzle:latest

Using dozzle

The simplest way to use dozzle is to run the docker container. Also, mount the Docker Unix socket with -volume to /var/run/docker.sock:

$ docker run --name dozzle -d --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:8080 amir20/dozzle:latest

dozzle will be available at http://localhost:8888/. You can change -p 8888:8080 to any port. For example, if you want to view dozzle over port 4040 then you would do -p 4040:8080.


dozzle doesn't support authentication out of the box. You can control the device dozzle binds to by passing --addr parameter. For example,

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8888:1224 amir20/dozzle:latest --addr localhost:1224

will bind to localhost on port 1224. You can then use a reverse proxy to control who can see dozzle.

Changing base URL

dozzle by default mounts to "/". If you want to control the base path you can use the --base option. For example, if you want to mount at "/foobar", then you can override by using --base /foobar.

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -p 8080:8080 amir20/dozzle:latest --base /foobar

dozzle will be available at http://localhost:8080/foobar/.

Environment variable, DOCKER_API_VERSION

If you see

2018/10/31 08:53:17 Error response from daemon: client version 1.40 is too new. Maximum supported API version is 1.38

Then you need to modify DOCKER_API_VERSION to let dozzle know which version of the API is supported. By default, DOCKER_API_VERSION=1.38 and you can change it by passing -e flag. For example, this would change the DOCKER_API_VERSION to 1.20

$ docker run --volume=/var/run/docker.sock:/var/run/docker.sock -e DOCKER_API_VERSION=1.20 -p 8888:8080 amir20/dozzle:latest

If you are not sure what to set DOCKER_API_VERSION then run docker version which will show supported API version.