gpt4 book ai didi

python - Docker-Compose 配置容器时区

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:45 30 4
gpt4 key购买 nike

我有一个在 docker 中运行的 python 应用程序。在应用程序中,我使用 datetime.now() 函数,该函数从容器时区获取值。所以我应该配置容器时区。

我的目录结构:

- myapp (project folder)
- DockerFile
- docker-compose.yml
- requirement.txt
- run.py

我的 Dockerfile:

FROM ubuntu:latest

ENV TZ=Europe/Istanbul
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential

COPY . /app
ENV HOME=/app
WORKDIR /app

RUN pip install -r requirements.txt

ENV LOGIN_USERNAME=master_login_username
ENV LOGIN_PASSWORD=master_login_password

ENV SLAVE_LOGIN_USERNAME=slave_login_username
ENV SLAVE_LOGIN_PASSWORD=slave_login_password

ENV AWS_ACCESS_KEY_ID=....
ENV AWS_SECRET_ACCESS_KEY=....
ENV CLUSTER_NAME=....

EXPOSE 5000

ENTRYPOINT ["gunicorn","-b","0.0.0.0:5000","-w","1","myapp:create_app()","--access-logfile","/app/myapp/logs/access.log","--error-logfile","/app/myapp/logs/error.log","--timeout","90"]

我的 docker-compose.yml:

version: '3.5'
services:
master:
build: .
ports:
- "5000:5000"
container_name: master
environment:
- MONGO_URI=mongodb://mongodb:27017/master
mongodb:
image: mongo:latest
container_name: "mongodb"
environment:
- MONGO_DATA_DIR=/usr/data/db
- MONGO_LOG_DIR=/dev/null
ports:
- 27017:27017
command: mongod --smallfiles --logpath=/dev/null # --quiet
networks:
default:
name: master

所以,实际上在 Dockerfile 中我配置了时区。但我正在使用 docker-compose up --build 进行构建并且容器时区不会改变。

当我构建时不使用 compose 作为 docker build -t并运行 docker run --name slave -d -p 80:5000时区按照我的意愿进行更改。

我错过了什么?

谢谢并致以诚挚的问候..

最佳答案

更新 /etc/timezone 是通常的方法,但是,至少就我而言,我必须做其他事情:创建从所需时区到 etc/localtime 的链接 并重新配置 tzdata(如果没有,请先安装):

# Set TimeZone to Spain (mainland)
ENV TZ=Europe/Madrid
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && dpkg-reconfigure -f noninteractive tzdata

最诚挚的问候!

关于python - Docker-Compose 配置容器时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54939578/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com