[Python] Running python script inside Docker container wrong timezone

Discussão em 'Python' iniciado por Stack, Setembro 10, 2024.

  1. Stack

    Stack Membro Participativo

    I'm running a script inside a Docker container (python:3.6) and it shows me the wrong time in the logs. When using the following python code in the python console(inside the container) it gives me the correct timezone.

    import datetime
    datetime.datetime.now()
    datetime.datetime(2019, 8, 3, 17, 26, 25, 662809)


    Also, when running the date command inside the container, it gives the correct timezone.

    However, I have this print statement in my script:

    print("Updating....", datetime.datetime.now())


    This however, gives me the wrong timezone (2 hours off).

    [​IMG]

    This is my docker-compose.yml:

    version: '3'
    services:
    app:
    container_name: app
    build: .
    restart: unless-stopped
    environment:
    TZ: Europe/Amsterdam
    depends_on:
    - db
    db:
    container_name: db
    image: mariadb
    restart: unless-stopped
    environment:
    MYSQL_ROOT_PASSWORD: x
    MYSQL_DATABASE: x
    MYSQL_USER: x
    MYSQL_PASSWORD: x
    TZ: Europe/Amsterdam
    volumes:
    - /volumes/x/db:/var/lib/mysql


    This is my crontab file (runs inside the app container)

    CRON_TZ=Europe/Amsterdam

    */5 * * * * cd /usr/src/app && /usr/local/bin/python3.6 -u -m x > /proc/1/fd/1 2>/proc/1/fd/2
    0,30 * * * * cd /usr/src/app && /usr/local/bin/python3.6 -u -m x > /proc/1/fd/1 2>/proc/1/fd/2
    5 0 * * * cd /usr/src/app && /usr/local/bin/python3.6 -u -m x > /proc/1/fd/1 2>/proc/1/fd/2


    I tried setting the timezone in docker-compose.yml, that worked for date command and the python console. I tried setting the timezone inside the crontab file, but it still doesn't show the correct timezone in the script.

    How do I set the timezone for Python inside a crontab, so that the logs do have the correct timezone? Also, I need to run a script at 00:05 not 22:05, does that work now?

    Continue reading...

Compartilhe esta Página