Try starting the service postgres14 (with the 14 on the end) instead of just postgres?
The upgrade makes new a new Postgres 14 container (likely called central-postgres14-1) and keeps the old Postgres 9.6 container around to copy data from one to the other.
It sounds like as you try to start up the old container, it wants to delete the data but realizes there is something wrong/doesn't think the data has been migrated so it is not letting the data get deleted.
I think the thing to do is figure out the state of the new container. Does it exist? Does it have data in it? What did the upgrade process look like for you? What happens when you try to start it with docker compose up postgres14?
Running the command you posted above docker compose up postgres is what should have triggered the creation of new container and data migration (see Upgrade your Database -- Step 7: Start the database upgrade and wait for the process to exit in the upgrade docs), and later the cleaning up of that data (Step 12.3).
Does this file ./files/postgres14/upgrade/upgrade-successful exist? (It should if the upgrade was successful, but the error you're seeing is probably because this file doesn't exist.)
Does this file ./files/postgres14/upgrade/delete-old-data exist? If so, I wonder if its existence is stopping the upgrade from happening?
This was just sorted out by the wonderful support team. Upgrade was from an older version and the wrong instructions were followed, causing the delete-old-data to block the upgrade.