如何为Docker容器设置环境变量?
发表于:2025-02-12 作者:千家信息网编辑
千家信息网最后更新 2025年02月12日,开始之前上一篇文章介绍了如何创建一个Docker容器,本篇文章(2017-08)介绍如何设置Docker容器环境变量,例如示例中的时区环境变量,需要注意的是容器的环境变量需要在创建容器时指定,容器时运
千家信息网最后更新 2025年02月12日如何为Docker容器设置环境变量?
开始之前
上一篇文章介绍了如何创建一个Docker容器,本篇文章(2017-08)介绍如何设置Docker容器环境变量,例如示例中的时区环境变量,需要注意的是容器的环境变量需要在创建容器时指定,容器时运行无法添加或者更改。
问题描述
发现使用 docker创建的 tomcat容器日志时区不正确(时差8小时),即使挂载了宿主机 /etc/localtime文件(宿主机时区是正确的),虽然容器的操作系统时间正常了,但是 tomcat的日志时区仍然是错误的,这对容器日志分析带来麻烦,我们的目标是为创建的tomcat容器设置正确的时区。
环境描述
软件版本
Tomcat:9 On Docker 1.13.1
宿主机时区文件
tail -n1 /etc/localtimeCST-8
创建容器使用的命令
docker run -tid --name test -p 10080:8080 \ -v /usr/local/tomcat/logs \ -v /etc/localtime:/etc/localtime \ --label aliyun.logs.catalina=stdout \ --label aliyun.logs.access=/usr/local/tomcat/logs/localhost_access_log.*.txt \ tomcat:9
如果对 docker命令参数不熟悉可以使用 --help 帮助,或者参考这篇文章 <<创建一个Docker容器>>
日志时区
docker logs --tail 1 test 10-Aug-2017 06:43:48.390 INFO [Thread-5] org.apache.coyote.AbstractProtocol.destroy Destroying ProtocolHandler ["ajp-nio-8009"]
注意: 日志时间 06:43:48 是不正确的。
解决方法
创建容器时指定TZ时区环境变量,例如设置时区为 Asia/Chongqing 。
docker run -tid --name new -p 10080:8080 \ -v /usr/local/tomcat/logs \ -e TZ=Asia/Chongqing \ --label aliyun.logs.catalina=stdout \ --label aliyun.logs.access=/usr/local/tomcat/logs/localhost_access_log.*.txt \ tomcat:9
再次验证容器时区
docker logs --tail 1 new 10-Aug-2017 14:44:51.736 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
注意: 日志时间 14:44:51 才是正确的。
命令帮助
run子命令 -e 参数设置容器的环境变量可以指定多次,多个环境变量还可以使用读取文件的方式 。
docker run --help | grep -i '\-env' -e, --env list Set environment variables --env-file list Read in a file of environment variables
参考文章
如何为Docker容器设置环境变量?
doker&k8s Qun [703906133]
容器
时区
环境
变量
日志
命令
宿主
宿主机
文件
时间
参数
文章
篇文章
参考
帮助
操作系统
再次
多个
小时
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
淄川销售采购生产软件开发报价
aix数据库种类
大学网络软件开发
茅箭区互联网软件开发口碑推荐
discuz调用数据库
软件开发学年鉴定表
连接数据库的代码说明
自有服务器 备案
访问远程数据库链接
软件开发由哪个部门管理
一台商用服务器价格
战地5社区服务器需要一直在吗
数据库保存超长字符串
暗黑破坏神2如何连接服务器
找软件开发在什么网站好找
软件开发 调研
电商数据库复习资料
怀柔区智能网络技术怎么样
女孩适合学计算机网络技术
什么是不属于网络安全技术
网络安全法规微视频
全球最新网络安全情况
网络安全工作的重要性和严峻性
北极星服务器崩溃
软件开发需要什么工资
济南时代智囊网络技术
沧海互联网络科技
最终幻想14哪个服务器不用排队
计算机软件开发客户分析
人行软件开发人员工资