diff --git a/content/config/containers/multi-service_container.md b/content/config/containers/multi-service_container.md index 1655ca6562..a552742c7c 100644 --- a/content/config/containers/multi-service_container.md +++ b/content/config/containers/multi-service_container.md @@ -1,12 +1,12 @@ --- -description: How to run more than one process in a container +description: Learn how to run more than one process in a single container keywords: docker, supervisor, process management -title: Run multiple services in a container +title: Run multiple processes in a container aliases: -- /articles/using_supervisord/ -- /engine/admin/multi-service_container/ -- /engine/admin/using_supervisord/ -- /engine/articles/using_supervisord/ + - /articles/using_supervisord/ + - /engine/admin/multi-service_container/ + - /engine/admin/using_supervisord/ + - /engine/articles/using_supervisord/ --- A container's main running process is the `ENTRYPOINT` and/or `CMD` at the @@ -34,7 +34,7 @@ this in a few different ways. ## Use a wrapper script Put all of your commands in a wrapper script, complete with testing and -debugging information. Run the wrapper script as your `CMD`. This is a very +debugging information. Run the wrapper script as your `CMD`. The following is a naive example. First, the wrapper script: ```bash @@ -66,10 +66,9 @@ CMD ./my_wrapper_script.sh ## Use Bash job controls -If you have one main process that needs to start first and stay running but -you temporarily need to run some other processes (perhaps to interact with -the main process) then you can use bash's job control to facilitate that. -First, the wrapper script: +If you have one main process that needs to start first and stay running but you +temporarily need to run some other processes (perhaps to interact with the main +process) then you can use bash's job control. First, the wrapper script: ```bash #!/bin/bash @@ -103,8 +102,8 @@ CMD ./my_wrapper_script.sh ## Use a process manager -Use a process manager like `supervisord`. This is a moderately heavy-weight -approach that requires you to package `supervisord` and its configuration in +Use a process manager like `supervisord`. This is more involved than the other +options, as it requires you to bundle `supervisord` and its configuration into your image (or base your image on one that includes `supervisord`), along with the different applications it manages. Then you start `supervisord`, which manages your processes for you. @@ -140,4 +139,4 @@ logfile_maxbytes=0 stdout_logfile=/dev/fd/1 stdout_logfile_maxbytes=0 redirect_stderr=true -``` \ No newline at end of file +``` diff --git a/data/toc.yaml b/data/toc.yaml index adb52068c7..7c597e71fe 100644 --- a/data/toc.yaml +++ b/data/toc.yaml @@ -1652,7 +1652,7 @@ Manuals: - path: /config/containers/runmetrics/ title: Collect runtime metrics - path: /config/containers/multi-service_container/ - title: Run multiple services in a container + title: Run multiple processes in a container - path: /config/daemon/prometheus/ title: Collect metrics with Prometheus - sectiontitle: Daemon configuration