This has everything you need. I also had the same issue on bitbucket. I tried using docker volumes but it didn't. The link below helped me out.
Downloads
Chrome, Edge and Firefox each allow you to set the location of the download directory. When you do this on a remote computer, though, the location is on the remote computer’s local file system. Selenium allows you to enable downloads to get these files onto the client computer. Enable Downloads in the Grid
Regardless of the client, when starting the grid in node or standalone mode, you must add the flag:
--enable-managed-downloads true
Enable Downloads in the Client
The grid uses the se:downloadsEnabled capability to toggle whether to be responsible for managing the browser location. Each of the bindings have a method in the options class to set this.
ChromeOptions options = new ChromeOptions();
options.setEnableDownloads(true);
driver = new RemoteWebDriver(gridUrl, options);
View full example on GitHub List Downloadable Files
Be aware that Selenium is not waiting for files to finish downloading, so the list is an immediate snapshot of what file names are currently in the directory for the given session.
List<String> files = ((HasDownloads) driver).getDownloadableFiles();
View full example on GitHub Download a File
Selenium looks for the name of the provided file in the list and downloads it to the provided target directory.
((HasDownloads) driver).downloadFile(downloadableFile, targetDirectory);
View full example on GitHub Delete Downloaded Files
By default, the download directory is deleted at the end of the applicable session, but you can also delete all files during the session.
((HasDownloads) driver).deleteDownloadableFiles();
https://www.selenium.dev/documentation/webdriver/drivers/remote_webdriver/