Skip to main content
availability

Deployment: Invicti Platform on-demand, Invicti Platform on-premises

Update an Acunetix Docker container

Update your main Acunetix Docker container to the latest version without losing data. This document explains how to back up your data and update the container, depending on whether it already uses a separate data volume.

Updating to the latest version is a prerequisite for moving from Acunetix on-premises to Invicti Platform. For more information, refer to the Moving from Acunetix on-premises to Invicti Platform document. For other ways to update Acunetix on-premises, refer to the Update Acunetix on-premises to the latest build document.

Why this matters​

Your Acunetix Docker container must use a separate data volume to prevent data loss when you update the Acunetix version. Backing up your data and keeping the data on a separate volume lets you replace the container with a newer one and keep your Acunetix data.

Before you begin​

Check whether your Acunetix container already uses a separate data volume for Acunetix data, and follow the matching scenario:

Run all commands on the Docker host.

Update when you use a separate data volume​

In this scenario, you back up the contents of your data volume as a safety precaution. Then you update the main Acunetix Docker container and attach the same data volume that was attached to the container with the previous version.

Back up the data volume​

  1. Create a folder to store your backup and adjust permissions on the folder:

    mkdir /axbak
    chmod 777 /axbak
  2. Stop the main Acunetix container:

    docker stop axmain
  3. Create the backup archive:

    docker cp -a axmain:/home/acunetix/.acunetix - > /axbak/acunetix-backup.tar

Update the main container​

  1. Update the Acunetix Docker image to the latest version:

    docker pull invicti/acunetix:latest
  2. Stop the main Acunetix container if it's running:

    docker stop axmain
  3. Rename the old container for safety:

    docker rename axmain axmain-old
  4. Run a new container using the latest Acunetix Docker image and your data volume. Replace the hostname with your value:

    docker run -d -p 3443:3443 -p 7880:7880 \
    --name "axmain" \
    --hostname <your-hostname> \
    -v acunetix-data:/home/acunetix/.acunetix \
    invicti/acunetix:latest

Update when you don't use a separate data volume​

In this scenario, you back up your data from the current container. Then you restore the backup onto a new data volume and update the main Acunetix Docker container, attaching the data volume you just created.

Back up the data from the current container​

  1. Create a folder to store your backup and adjust permissions on the folder:

    mkdir /axbak
    chmod 777 /axbak
  2. Stop the main Acunetix container:

    docker stop axmain
  3. Create the backup archive:

    docker cp -a axmain:/home/acunetix/.acunetix - > /axbak/acunetix-backup.tar

Restore the data to a new data volume and update the container​

  1. Create a new data volume:

    docker volume create acunetix-data
  2. Update the Acunetix Docker image to the latest version:

    docker pull invicti/acunetix:latest
  3. Stop the main Acunetix container if it's running:

    docker stop axmain
  4. Rename the old container for safety:

    docker rename axmain axmain-old
  5. Create a new Acunetix container using the new data volume and the same ports as the previous container, so they match the settings in the backup archive. Replace the hostname with your value:

    docker run -d -p 3443:3443 -p 7880:7880 \
    --name "axmain" \
    -v acunetix-data:/home/acunetix/.acunetix \
    invicti/acunetix \
    --hostname <your-hostname>
  6. Stop the new Acunetix container:

    docker stop axmain
  7. Restore the archived data into the new data volume:

    docker cp - axmain:/home/acunetix < /axbak/acunetix-backup.tar
  8. Start the new Acunetix container:

    docker start axmain

Troubleshooting​

My data is missing after the update

Check that the new container uses the same data volume as the previous version, or that you restored the backup archive into the new data volume before starting the container. The old container is still available as axmain-old, and your backup is in /axbak/acunetix-backup.tar.

The restored settings don't match the new container

When you don't use a separate data volume, create the new container with the same ports as the previous container (3443 and 7880) so they match the settings in the backup archive.


Need help?​

Invicti Support team is ready to provide you with technical help. Go to Help Center

Was this page useful?