system-config/playbooks/roles/install-docker/README.rst
Ian Wienand 694241ad77 docker: install rsyslog to capture container output
This started with me wondering why gerritbot was putting all its
output into /var/log/syslog -- it turns out Xenial docker is
configured to use journalctl (which forwards to syslog) and Bionic
onwards uses json-file.

Both are sub-optimial; but particularly the json-file because we lose
the logs when the container dies.  This proposes moving to a more
standard model of having the containers log to syslog and redirecting
that to files on disk.

Install a rsyslog configuration to capture "docker-*" program names
and put them into logfiles in /var/log/containers.  Also install
rotation for these files.

In an initial group of docker-compose files, setup logging to syslog
which should then be captured into these files.  Add some basic
testing.

If this works OK, I think we can standardise our docker-compose files
like this to caputure the logs the same everywhere.

Change-Id: I940a5b05057e832e2efad79d9a2ed5325020ed0c
2020-10-19 16:06:03 +11:00

28 lines
788 B
ReStructuredText

An ansible role to install docker in the OpenStack infra production environment
This also installs a log redirector for syslog ```docker-`` tags. For
most containers, they can be setup in the compose file with a section
such as:
.. code-block:: yaml
logging:
driver: syslog
options:
tag: docker-<appname>
**Role Variables**
.. zuul:rolevar:: use_upstream_docker
:default: True
By default this role adds repositories to install docker from upstream
docker. Set this to False to use the docker that comes with the distro.
.. zuul:rolevar:: docker_update_channel
:default: stable
Which update channel to use for upstream docker. The two choices are
``stable``, which is the default and updates quarterly, and ``edge``
which updates monthly.