问题描述:
docker部署spring boot服务,容器启动过程中,无法连接docker外部oracle数据库。
dockerfile配置如下:
FROM jdk1.8
MAINTAINER admin
COPY application.properties application.properties
ADD *.jar *.jar
EXPOSE 50001
ENTRYPOINT ["java","-jar","*.jar","--spring.config.location=application.properties"]
问题原因:
docker容器内部默认时区为美国时间,与容器的宿主机时间不一致,可通过下列命令查看容器内部时间。
docker exec -it 容器id /bin/bash
date
解决方案:
- 修改dockerfile文件,添加ENV TZ=Asia/Shanghai。
FROM jdk1.8
MAINTAINER admin
COPY application.properties application.properties
ADD *.jar *.jar
EXPOSE 50001
ENV TZ=Asia/Shanghai
ENTRYPOINT ["java","-jar","*.jar","--spring.config.location=application.properties"]
- 执行docker run 命令时,添加 -v /etc/localtime:/etc/localtime参数。