Cron in container Docker (Impossibile creare/rimuovere una voce per la sessione specificata)

Ho aggiunto un template per creare un file in /etc/cron.d/ all’interno del mio container Docker di Discourse, ma non riesco a far eseguire il cron job! Invece, vedo la seguente voce nel syslog del mio container Docker:

==> /var/log/syslog <==
Apr 22 11:45:01 osestaging1-discourse-ose CRON[30055]: Impossibile creare/rimuovere una voce per la sessione specificata

Come posso definire un cron job da eseguire all’interno del mio container Docker di Discourse?

Questo è il risultato di un bug in Docker e Debian. È stato risolto da allora, ma apparentemente non ancora per l’immagine Docker di Discourse (per ora?).

In base al link sopra, ho utilizzato il seguente file di template per [a] creare il file /etc/cron.d/ e [b] correggere il bug nel modulo cron pam:

[root@osestaging1 discourse]# cat /var/discourse/templates/unattended-upgrades.template.yml run:
  - file:
     path: /etc/cron.d/unattended-upgrades
     contents: |+
        ################################################################################
        # File:    /etc/cron.d/unattended-upgrades
        # Version: 0.1
        # Purpose: run unattended-upgrades in lieu of systemd. For more info see
        #           * https://wiki.opensourceecology.org/wiki/Discourse
        #           * https://meta.discourse.org/t/does-discourse-container-use-unattended-upgrades/136296/3
        # Author:  Michael Altfield <michael@opensourceecology.org>
        # Created: 2020-03-23
        # Updated: 2020-03-23
        ################################################################################
        20 04 * * * root /usr/bin/nice /usr/bin/unattended-upgrades --debug
        

  - exec: /bin/echo -e "\n" >> /etc/cron.d/unattended-upgrades
  # fix the Docker cron bug https://stackoverflow.com/questions/43323754/cannot-make-remove-an-entry-for-the-specified-session-cron
  - exec: /bin/sed --in-place=.`date "+%Y%m%d_%H%M%S"` 's%^\([^#]*\)\(session\s\+required\s\+pam_loginuid\.so\)$%\1#\2%' /etc/pam.d/cron
[root@osestaging1 discourse]# 

Purtroppo, non sono al 100% sicuro di tutte le conseguenze di questa modifica al modulo cron pam.d. Ma mi sembra che sia la correzione riconosciuta a monte :\

Vedi anche: Does Discourse container use unattended-upgrades? - #9 by maltfield