Estoy usando la imagen base frolvlad/alpine-oraclejdk8 según lo recomendado por Spring: https://spring.io/guides/gs/spring-boot-docker/
FROM frolvlad/alpine-oraclejdk8:slim VOLUME /tmp ADD gs-spring-boot-docker-0.1.0.jar app.jar RUN sh -c 'touch /app.jar' ENV JAVA_OPTS="" ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ] Estoy ejecutando la imagen con -e TZ=/usr/share/zoneinfo/Europe/Paris
Estoy configurando el env TZ pero esto no cambia la zona horaria en mi contenedor.
¿Cómo se cambia la zona horaria de esta imagen?
Alpine Linux no instala archivos de zona horaria de forma predeterminada para minimizar el tamaño de la imagen de Docker.
Debe instalar explícitamente el paquete tzdata y copiar el archivo zoneinfo de acuerdo con la zona horaria que desea configurar.
Un ejemplo para Dockerfile es el siguiente:
FROM frolvlad/alpine-oraclejdk8:slim RUN apk --update add tzdata && \ cp /usr/share/zoneinfo/Europe/Paris /etc/localtime && \ apk del tzdata && \ rm -rf /var/cache/apk/*Construye la imagen:
$ docker build -t tztest . Sending build context to Docker daemon 2.048 kB Step 1 : FROM frolvlad/alpine-oraclejdk8:slim ---> 00d8610f052e Step 2 : RUN apk --update add tzdata && cp /usr/share/zoneinfo/Europe/Paris /etc/localtime && apk del tzdata && rm -rf /var/cache/apk/* ---> Running in 5b6a014fdaf3 fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/main/x86_64/APKINDEX.tar.gz fetch http://dl-cdn.alpinelinux.org/alpine/v3.5/community/x86_64/APKINDEX.tar.gz (1/1) Installing tzdata (2016i-r0) Executing busybox-1.25.1-r0.trigger OK: 14 MiB in 15 packages (1/1) Purging tzdata (2016i-r0) Executing busybox-1.25.1-r0.trigger OK: 10 MiB in 14 packages ---> 6c379ddd4186 Removing intermediate container 5b6a014fdaf3 Successfully built 6c379ddd4186 Verifique la date del contenedor:
$ docker run -it --rm tztest date Thu Mar 9 16:34:54 CET 2017EDITAR:
Si desea configurar timzone en tiempo de ejecución y no en la compilación, instale el paquete tzdata y no lo elimine en la compilación:
FROM frolvlad/alpine-oraclejdk8:slim RUN apk --no-cache add tzdataConstruye la imagen:
$ docker build -t tztest . Y luego, puede configurar la variable de entorno TZ en tiempo de ejecución:
$ docker run -it --rm -e TZ="Europe/Paris" tztest date Fri Mar 10 01:59:27 CET 2017