A container is disposable; its data must not be — cheat sheet
containers, boot-systemd
$ docker ps --format 'table {{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}'
$ docker inspect NAME --format '{{json .Mounts}}' # anonymous volume, named volume or bind
$ docker inspect NAME --format '{{.HostConfig.PortBindings}}'
$ docker port NAME # what is published, on which address
$ docker exec NAME redis-cli config get save # "" = snapshots off
$ docker exec NAME redis-cli save # write dump.rdb now
$ docker cp NAME:/data/dump.rdb /var/lib/app/ # copy out of a running container
$ docker run -v /host/dir:/data … # bind mount
$ docker run -v name:/data … # named volume
$ docker run -p 127.0.0.1:6379:6379 … # publish on the loopback only
$ docker volume ls; docker volume inspect NAME
$ ss -ltnp 'sport = :6379' # who listens, on which address
$ systemctl cat UNIT; sudo systemctl edit UNIT # the unit and a drop-in
$ journalctl -u UNIT -o cat # the container's own log under systemd