Skip to main content

Mounting Files into Docker Containers

Adding volumes to an existing deployment

Volume mounts cannot be changed on a running container. If your Dataedo containers are already running, follow the steps below to update docker-compose.yml and then recreate the containers — your data and configuration will be preserved.

Some configurations require access to local files — for example, private keys, certificates, or license files. When running Dataedo in Docker, these files must be mounted into the container using Docker volumes so the relevant services can access them.

Setup

1. Prepare your files

Create a new directory (e.g., files) next to your docker-compose.yml and copy the files you want to mount into it.

2. Update Docker Compose

Add a volume mount to the service that needs access to the files in your docker-compose.yml. The example below mounts files to the agent service:

docker-compose.yml
services:
agent:
image: dataedo/web_agent:stable
restart: always
platform: linux/amd64
networks:
- overlay
env_file:
- ./.env
volumes:
- ./files:/files:ro # Mount local files as read-only

This maps the local ./files directory to /files inside the container. The :ro flag mounts it as read-only for security.

3. Restart containers

Apply the changes by restarting your containers:

Run the following commands in your terminal:

docker compose down   # Stop and remove existing containers
docker compose up -d # Recreate containers with the new volume mounts

4. Use the container path in Dataedo

When configuring a data source connection in Dataedo Portal, enter the container path (not the host path) when asked for a file location. For example, if you mounted ./files:/files, a file placed in ./files/my_key.p8 on the host is available at /files/my_key.p8 inside the container.

Example: Snowflake Key Pair Authentication

Snowflake supports Key Pair Authentication using a private key file. To use this with Dataedo running in Docker:

  1. Generate your key pair following the Snowflake documentation.

  2. Place the private key file (e.g., rsa_key.p8) in the ./files directory next to your docker-compose.yml.

  3. Add the volume mount to the agent service and restart containers (see Setup above).

  4. In Dataedo Portal, navigate to Connections → Add new connection → Snowflake and select Key pair authentication as the authentication method.

  5. In the Private key file path field, enter the container path:

    /files/rsa_key.p8
  6. Provide the passphrase if your key is encrypted, then complete the connection setup.

File permissions

Ensure that the mounted files are readable by the container process. If you encounter permission errors, check the file permissions on the host. Consult your security team or follow your organization's security policies when setting permissions on sensitive files such as private keys.

See also

Need help?

If you run into any problems or have questions, reach out to Dataedo support.

Dataedo is an end-to-end data governance solution for mid-sized organizations.
Data Lineage • Data Quality • Data Catalog