LibreNMS Install on Docker

Hi Guys,

Please advise what will be the difference by deploying build in image for Docker containers
VS Deploying a Centos Firmware inside the docker container and doing scratch install?

I started on docker, but it’s not official so may not be maintained. If you had to, i would recommend LibreNMS Docker Image

There would be minimal differences to creating your own LibreNMS container in centos 7. (in the end basically comparing ubuntu to centos)

Ideally build it on a bare server without docker, just because theres so many services and depenancies its much easier to manage in my opinion.

Did anyone else deploy Docker based image? I want to get more feedbacks

I use it and also contribute to https://github.com/jarischaefer/docker-librenms

Guys, from my point of view the big disadvantage of using Docker image is that docker image isn’t released frequently with upgraded version, I had some cases where I had to upgrade the Centos to higher versions due to the new changes in the code, so I think deploying centos inside docker container and then deploy librenms
will be preferred VS using docker image, please advise

@amaizenshtein WDYM?

Jari follows LibreNMS monthly release cycle and it is based on Ubuntu LTS release.
So it is actually updated on regular basis and you can always get the latest image from Docker Hub.

And you could actually use daily.sh inside container if you really want to update LibreNMS, daily, inside your container.

You can always deploy your own CentOS container and install LibreNMS on top of it, but you would still have the same disadvantages and advantages as you would have using image from Docker Hub.

So What will be the disadvantages Centos inside docker or build in librenms image ?

Same as using image from Docker Hub, to update everything you should actually redeploy instead of constantly upgrading OS and application inside container.

Docker philosophy is that container is immutable and should not be changed/updated/upgraded, hence why application data should be always stored outside of an container.

But feel free to build your own image, I don’t think CentOS has any advantages/disadvantages over Debian/Ubuntu in this particular case.

And you would have to build image and all the dependencies yourself :slight_smile:

But it is definately doable, if you are after it, just keep in mind that Docker is not actually meant for such approach.

Docker != VM, it uses a layered filesystem (AuFS).

AuFS is a layered file system, so you can have a read only part and a write part which are merged together. One could have the common parts of the operating system as read only (and shared amongst all of your containers) and then give each container its own mount for writing.

So, let’s say you have a 1 GB container image; if you wanted to use a full VM, you would need to have 1 GB times x number of VMs you want. With Docker and AuFS you can share the bulk of the 1 GB between all the containers and if you have 1000 containers you still might only have a little over 1 GB of space for the containers OS (assuming they are all running the same OS image).

Read more here: https://blog.docker.com/2016/03/containers-are-not-vms/

Thanks for the detailed reply