github.com/swiftstack/ProxyFS@v0.0.0-20210203235616-4017c267d62f/pfsagentd/pfsagentd-init/README.md (about) 1 # PFSAgent Init Daemon For Use In Containers 2 3 Docker-style containers are designed to run a single program. If that program 4 has a dependency on running services, such as `pfsagentd`, there is no opportunity 5 to ensure these are running with a subsystem like `systemd`. While there are a 6 number of `systemd` substitutes in wide use in containers that have this service 7 requirement (e.g. `supervisord` and `s6`), these tools generally don't have a 8 mechanism to order such services nor ensure that each is up and running sufficient 9 for the subsequent service or the application to immediately consume. 10 11 The program in this directory, `pfsagentd-init`, provides the capability to launch 12 a number of instances of `pfsagentd`, ensures that they are able to receive traffic 13 via their `FUSEMountPointPath`, and finally launching the desired application. 14 15 As may be common, the application to be dependent upon one or more `pfsagentd` 16 instances has already been containerized in some existing container image. 17 A `Dockerfile` in `../container/build` is provided to build the components that 18 need to be added to a derived container image based off the application's original 19 container image. Then, a tool in `../container/insert` will create a `Dockerfile` 20 derived from the application's original container image that imports these 21 to-be-inserted components. 22 23 As part of the created `Dockerfile` is a replacement for any ENTRYPOINT and/or 24 CMD that will launch `pfsagentd-init` that accomplishes this conversion.