Not sure what you mean with ābuildā. You ābuildā a Docker image from a Dockerfile, but this is a docker-compose.yml file, so itās rather āstartā or ārunā.
A bind mount is something you have under volumes: which starts with a path like ./ or /. One of those directories might not exist or have the wrong user rights to be accessed.
I have complete ownership over all the directories; therefore every directory has a full rights. Just to clarify ./appdata is a directory that should be created within the container in this case; youtube-dl/material is the main directory ?
This is not something Docker would say without showing some more details. ābind mount failureā is barely more information than āsomething went wrongā and without knowing what went wrong, it is impossible to solve.
Please, show the commands you ran and the exact error message with the context. Without context, all we can do is guessing.
Iām not running any commands, Iām using a container manager to control all the containers and I have one YAML file with all the configurations in one file; why I posted the one YAML file.
When looking at the containers that are running, two work out of four; the other two donāt work because of this error.
The point is that you have to share more information. If you donāt share what you do, we canāt help. You use a container manager, but you havenāt shared which one. If that container manager doesnāt show proper error messages, you need someone who used that container manager. We can help with docker commands. Manager softwares can help if you use them in addition to Docker commands, but otherwise those will just make your life harder.
Thank you. So you are running Docker on Synology. I did a quick research now and it looks like Container Manager is the new name for an improved UI replacing the package called āDockerā. I have no personal experience, but as far as I know, the Docker on Synology is a modified Docker. Maybe @meyay can confirm if I remember it correctly.
Iām not familiar with the not too informative ābind mount failureā error message and I donāt even know how you could get more detailed error messages. I would have ideas on a Linux server, but not on Synology. I found some sources though, but they mentioned ābind mount failedā and not ābind mount failureā
The second one mentiones ābind mount failureā but not as an exact error message. The message contains ābind mount failedā, the same way as in the third report.
So it looks like you either have an error message which I canāt find enywhere on the internet (I admit I havenāt searched everywhere on the internet), or you didnāt share the exact error message as I asked for.
Either way, I think your issue canāt be answered by just knowing the official Docker and you could have better answers from Synology users.
Indeed, it is! This docker distribution is maintained and supported by Synology. The support channel for this is Synology itself.
Nevertheless, from first hand experience I can say that bind volumes do work on Synologyās docker, regardless whether it comes packaged with Syno`s Docker or Container Manager package.
Some details you didnāt share so far:
Which of the services are working? If tubesync and syncthing are the working ones, than your problem could be the relative paths you use on the other two services.
How do you deploy the compose project?
Container Manager UI?
docker-compose ?
docker compose? (that is if you installed the cli plugin yourself)
Furthermore, the bind against the container folder /config looks weird:
I assume you meant to use - /volume1/docker/syncthing/config:/config?
Note: I highly recommend being consistent with how you configure your services. The first two service use list-syntax env variables and absolute paths for the binds. The third service uses map-syntax env variables. The third and fourth service use relative paths for the binds.
tubesync & syncthing are both working including, mongo-db except youtubedl is not working ?
The project was composed using Container Manager GUI.
The first two service use list-syntax env variables and absolute paths for the binds. The third service uses map-syntax env variables. The third and fourth service use relative paths for the binds
I donāt follow where this information is to be found or how you know ?
I take you didnāt compare the environment and volumes elements of the services I mentioned, otherwise you would have noticed the differences.
Please share the directory content of the directory you set as āpathā in your project. The binds you declared in the volumes elements of ytdl_material and ytdl-mongo-db use paths relative to the project path: make sure they exist.
Note: the file permissions you declare using the Synology UI use ACL, while container care for unix file permissions. Often setting the ACLs alone is not enough.
In case the problem is how we use English, I would rephrase it as ācompare the envrionmnent sections in your service definitions and also compare the volumes sections in your service definitionsā. Do not compare the environment sections with volumes
You got answers from @meyay and he also asked for a specific information. That is what you should have focused on not on a side note.
The point is that you make sure you donāt randomly configure things differently in each service instead of following the same syntax. Regarding comparison, I couldnāt have told you more than meyay did. You look at the file and compare one setting with another. One uses a list of environment variables and the other is a mapping of environment variables? Thatās thei nconsistency then.
But again, the more important part is what meyay asked for and the part about ACL vs. unix file permissions.
I found what the problem is; in this container manager the top most container in the YAML file is in my case is tubesync which is the originally created name of the image container. Therefore if you mix multiple containers in one YAML file all the sub-directories for those containers must be created within the tubesync directory; instead of their own directory with the containers sub-directories residing.
I donāt necessarily like this, so I have to change.