Now I found an error within a few hours of operation.
The reason for the problem is that start-stop-daemon , the main tool for starting the starter / tester / plug of the Debian system, checks for the existence of the daemon by examining the virtual software connection of the daemon process in /proc/<pid>/exe (it should point to process binary image).
Now the problem is that in docker this program link simply will not work by default. This is due to the fact that the docker must use strict security policies during installation by default (it is mainly used to run unidentified software).
There are many workarounds for the task, some of which should change the privilege settings of the container, and some should not. Two examples:
- You modify the init scripts so that you do not use
start-stop-daemon with the --test and --exec - You launch your
docker run containers by providing --cap-add=SYS_ADMIN options to the docker run (don't worry, it does not give your docker run containers any sysadm privileges, this is probably just a precaution for productive use)
Next to them, also, systemd does not work in docker, although this is probably more of a disadvantage of system d, since docker. Instead of systemd upstart can be used.
Ps: docker developers / supporters often say "containers are not virtual machines" and the like. But, in everyday experience, there is not such a really strong difference between the two, and for the productive use of dockers in software, at least minimal support for a function like VPS would undoubtedly be useful. I hope that the development of dockers will be concentrated in this direction in the near future.
peterh
source share