For Docker Apps/Package Based, this happens during updates when the DockerImage in the ini file changes. This is rather uncommon, updates are normally done by installing updated packages from a newer repository.

But in both cases, the container is removed when the App is uninstalled.

Data that should survive such an image removal / exchange, needs to be stored either in a shared volume or on a different location (e.g., in a database on the Docker Host).

Volumes

Docker Apps/Files shows directories that are always mounted into the container. They can be used store data that shall survive. Either by configuring the App's directories to point to these directories directly, or by copying important data in the store_data script (See Docker Apps/Container Scripts).

You can also add other volumes by extending the App's ini file (see Provider Portal/Apps), e.g., /opt/myapp/data and opt/myapp/config

This volumes will be mounted into the container as stated (i.e., with docker create -v ...)

Database

Another way of keeping data is through a database that does not run inside the container, but instead on the Docker Host. This is described in Integration with UCS/Database.