Purpose of selecting container pool

I am trying to set up a container for the purpose of simply running a script periodically. I have a couple of questions with respect to containers. I would appreciate it if someone could help me with those. I tried searching in the forum, as well as in Google, but I couldn’t find a good answer.

  1. When I was trying to set up the container, it first asked me to select a container pool. How is the container pool used? I thought once I create new containers, it would leave artifacts (Eg: container images, virtual file system images etc.) in the container pool. However, after I created a new container, I don’t see any new datasets created in the container pool, so I’m not sure how it is used.
  2. What’s the purpose of map UID/GID option in the configuration menu? I thought the purpose was that any host UID that I map will be automatically available in all of my containers.In order to fix permission issues when accessing host datasets from my container, I had to create users within the container with the same UID in the host machine (i.e. UID that has access to the dataset).

Do you actually mean containers (e.g. the experimental feature) or a custom app?
What version of TrueNAS are you using?
And why setup a container just to periodically run a script?

When you choose a pool for the container, the backend creates a hidden dataset called .ix-virt. All data for containers is stored in there.

Thank you @LarsR Do you happen to know the answer for question number 2 as well?

I meant containers, the experimental feature.

I am using TrueNAS-25.04.2.3

The script has some dependencies (Eg: specific Python version), that are not there in the baseline.
I don’t want to modify the baseline installation, so I want to put that in a container where I can get those dependencies met.

1 Like

No i do not know, but what i know is that i had to add the truenas_container_unpriv_root user to my acl list or otherwise i had permission issues inside the lxc. The only additional user i have for my docker container is the apps user, which i did not manaually create inside the lxc but my apps still can access the shares that users should have access to.

1 Like