La solución es falsificarlo en el recipiente. Esta biblioteca intercepta todas las llamadas al sistema que los programas utilizan para recuperar la fecha y la hora actuales.
La implementación es fácil. Agregue funcionalidad a su Dockerfile según corresponda:
WORKDIR /RUN git clone https://github.com/wolfcw/libfaketime.gitWORKDIR /libfaketime/srcRUN make install
Recuerde establecer las variables de entorno LD_PRELOAD antes de ejecutar la aplicación a la que desea que se aplique la hora falsa.
Ahora puede cambiar dinámicamente la hora de los servidores:
Ejemplo:
import osdef set_time(request): print(datetime.today()) os.environ["FAKETIME"] = "2020-01-01" # Note: time of type string must be in the format "YYYY-MM-DD hh:mm:ss" or "+15d" print(datetime.today())