I've been using portainer to set up various docker containers and stacks. I recently set up a deluge container, which after being halfway through a large download, threw an error stating that there was no more space left on the machine for saving torrent info.
The stack uses two mounted volumes that point to a mounted CIFS drive of 1TB like so:
version: "3.1"
services:
deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: deluge
environment:
- PUID=1001
- PGID=1001
- DELUGE_LOGLEVEL=error #optional
volumes:
- /mnt/sbox1/docker/deluge/config:/config
- /mnt/sbox1/docker/deluge/downloads:/downloads
ports:
- 8112:8112
- 6881:6881
- 6881:6881/udp
restart: unless-stopped
This seemed strange to me since the error was pointing to a file in a /tmp directory that was not present in the host machine, so I run the ls -lh /tmp command inside the container and found it. From what I understand, since docker is installed inside the host's /var/lib/docker directory, any containers that I set up, will be using the host for any /tmp data and in cases such as this, that won't suffice. What are my options here? I tried running docker-compose up on the mounted /mnt/sbox1/docker/deluge dir, but since it uses the host's docker, it fails with the same issue.
Can I somehow specify to docker (through Portainer preferably) that I want a container to use the storage space on the new mounted drive instead of the space on the host? Would something like adding a mapping to the container's /tmp path suffice?