如何为Docker容器设置环境变量?
发表于:2024-10-30 作者:千家信息网编辑
千家信息网最后更新 2024年10月30日,开始之前上一篇文章介绍了如何创建一个Docker容器,本篇文章(2017-08)介绍如何设置Docker容器环境变量,例如示例中的时区环境变量,需要注意的是容器的环境变量需要在创建容器时指定,容器时运
千家信息网最后更新 2024年10月30日如何为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安全错误
数据库的锁怎样保障安全
服务器上运行高恪
lock 服务器
高人才数据库有补助么
神奇宝贝服务器手机版怎么下载
怀旧服服务器防护值
东至新能源软件开发服务厂家供应
网络安全法未经谁的同意
潍坊办公管理软件开发
苏州专注软件开发miss xu
福州鼓楼法院网络安全
网络安全法全文好处
重庆十大软件开发公司
明日之后手机服务器怎么用电脑玩
玩饥荒需要自己开服务器吗
时间同步服务器网址
sql数据库版本管理工具
如何管理公司内部服务器
2016年网络安全伊胜伟
如何把数据库数据显示在页面上
不动产权籍数据库
visio数据库形状在哪
思科刀片服务器网络管理模块
excel报表生成数据库
衢州口碑好的网络技术有哪些
网易服务器管理员
网络安全竞赛表情包
数据库技术第二版实训5
云南服务器回收价格表
湖南微型软件开发厂家报价
win11服务器版性能设置