To take full advantage of the features provided by the container runtime (e.g. capture logs from stdout/stderr, restart the container only when the root process crashes), you should consider running only one process in each container. If containers must communicate with each other, use a Kubernetes pod to enable related containers to run in the same environment and share certain resources. Kubernetes does this by allowing containers in the same pod to share certain Linux namespaces, such as network interfaces, the port space and the UTS namespace.