Cannot access Nessus when using bind mount in docker compose!

Host: Oracle Linux 9.4
Docker compose version: 2.29.7

I am using docker compose to create an nessus container. If I use volume mount, the service run susscessfully. But when I use bind mount to my host folder, the service cannot run because missing plugin file.

This is my docker-compose file content:

services:
nessus_service:
image: tenable/nessus:10.8.3-oracle
restart: always
container_name: nessus_container
ports:
- 3002:8834
volumes:
- /home/my_mount_folder_nessus:/opt/nessus/var/nessus/

An empty volume initializes with the contents of the image at the path it’s mounted. A bind mount does not change its contents, what’s in your computer overrides the image contents. Do you have the required things in the mount path?

1 Like

This image looks like fun :smiley:

Note: Tenable Nessus does not support storage volumes. Therefore, if you deploy a new Tenable Nessus image, you will lose your data and need to reconfigure Tenable Nessus. However, while deploying the new image, you can configure any initial user and linking information with environment variables, as described in step two of the following procedure.

Source: Deploy Tenable Nessus as a Docker Image (Tenable Nessus 10.8)

That is interesting, any idea why they’d do that?

I can only make an educated guess: It appears that parts of the application code and persistent state are stored in the same folder, and maybe separating the state from the application code would be too much of a hustle…

In short: I have not the faintest idea :smiley:

1 Like