DEV Image Persistent Volumes on Windows

I’m trying to follow the information for the DEV image trial found here:
singlestore-labs/singlestoredb-dev-image: The SingleStoreDB Dev Container is the fastest way to develop with SingleStore on your laptop or in a CI/CD environment. (github.com)

I can readily run the downloaded Docker image on Windows without issue and can connect to the SS Studio UI when running.

However, as soon as I attempt to provide a persistent volume per that documentation, the image will no longer run. The documentation says to provide UID:GID 999:998 permissions on the folder to be used for the persistent volume. But I can find no way to provide permissions that Docker is willing to accept. And so the container always exits with this error:
tar: .: Cannot utime: Operation not permitted
tar: .: Cannot change mode to rwxr-xr-x: Operation not permitted
tar: Exiting with failure status due to previous errors

Any help or info is appreciated.

Persistent volumes in the context of containerization provide a way to store and manage data outside the container’s lifecycle. While Windows does support persistent volumes, it’s worth noting that Windows containers operate differently from Linux containers. Here are some considerations regarding persistent volumes on Windows for containerized development.

  1. Docker Volume Management: Docker, the widely used containerization platform, provides support for managing volumes in Windows containers. You can create and manage persistent volumes using Docker commands, allowing data to persist across container restarts and even container deletions.
  2. Mounting Host Directories: With Windows containers, you have the option to mount directories from the host machine into the container as persistent volumes. This enables you to access and manage files directly on the host system, which persists even after the container terminates.
  3. Configuration in Docker Compose: If you are using Docker Compose to manage your Windows containers, you can define persistent volumes in the docker-compose.yml file. This allows you to specify host directories to mount into the container, ensuring data persistence between container instances.
  4. Storage Drivers: Windows containers use different storage drivers compared to Linux containers. On Windows, the default storage driver is windowsfilter, but there are also alternatives like overlay2 available. Understanding the available storage drivers and their implications can help you make informed decisions when working with persistent volumes.
  5. Storage Limitations: Windows containers have some limitations when it comes to persistent volumes. For example, you cannot mount network shares directly as volumes in Windows containers. Instead, you may need to use workarounds such as using a host volume to access network shares.
  6. Compatibility and Cross-Platform Considerations: When working with persistent volumes on Windows, it’s important to consider compatibility and cross-platform implications. If you are developing applications that need to run on both Windows and Linux, you may need to account for differences in volume management between the two platforms.
  7. Third-Party Solutions: In addition to Docker’s built-in volume management, there are third-party tools and plugins available for managing persistent volumes in Windows containers. These tools provide additional features and flexibility for storage management, allowing you to tailor your solution based on specific requirements.

It’s worth noting that the Windows container ecosystem is continually evolving, and new features and improvements are regularly introduced. Keeping up with the latest updates and documentation from Docker and the Windows container community will ensure you have the most accurate and up-to-date information regarding persistent volumes on Windows.

Thanks Roya, going that route might be an alternative. The issue here is that, generally, based on the documentation provided for SingleStore DEV images, I’m not supposed to have to create any kind of docker-compose.yml file. The documentation suggests it is supposed to work “out-of-the-box”–and it does until I try to add a persistent volume on Windows using the documentation provided. That breaks it. If the documentation suggests the docker container can run on Windows, and that persistent volumes can readily be created on Windows; then that should work. If additional hoops are needed to make those persistent volumes work on Windows, then that should be shown or linked to in the documentation.