# Containers with user customized tool sets

The recommended workflow to run packages conflicting with other packages in the current IVM setup is to [wrap them into a Docker image](/working-in-the-sandbox/quirks-and-features/docker-images/how-to-write-a-docker-file.md). Then you can send the docker file or its link to the service desk (<finngen-servicedesk@helsinki.fi>) and our cloud administrator will compile it and add it to the sandbox container repository. From there the user can pull the image and use it inside IVM.

### The protocol

1. The Sandbox **user defines the docker file** containing the application and its dependencies. Only public tools are allowed so that the system admin can compile the image. All dependencies (scripts and tools) should be retrievable from public resources. The image file should be compatible with [docker framework](https://www.docker.com/).
2. User **sends a link to this docker file** to service desk (<finngen-servicedesk@helsinki.fi>). Only the Docker file is needed, not the Docker image. If the docker file depends on another public image then the docker file of this dependency should be also provided.
3. System **admin compiles the image from the docker file** and pushes it to the sandbox container repository.
4. System **admin** **announces the image** in the sandbox-all email channel.
5. Sandbox **users** [**can pull the image into IVM**](/working-in-the-sandbox/quirks-and-features/docker-images/how-to-get-a-new-docker-image-to-sandbox.md) and launch containers using standard docker commands.

An example of a [Docker file for basic Saige](https://github.com/FINNGEN/saige-pipelines/blob/master/docker/basic_Saige).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.finngen.fi/working-in-the-sandbox/quirks-and-features/docker-images/packages-conflicting-other-packages-in-current-ivm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
