如何为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安全错误
数据库的锁怎样保障安全
超星数据库会员购买
数据库pivot怎么用
网络安全过滤设计
网络安全工程师可以转行做什么
千万级mysql数据库设计
在vs中查找对应数据库表
数据库系统减少了数据冗余
顿麦软件开发中心
江苏电脑软件开发哪家正规
永兴软件开发薪资
存照片软件开发
收银系统打不开数据库怎么办
嘉善软件开发
浅析网络安全技术员
erp信息系统软件开发
厦门网络安全会议视频
大学生软件开发选题
lol服务器找不到入口
盐城悦达软件开发待遇怎么样
免费数据库管理软件下载
数据库系统减少了数据冗余
数据库窗口函数
苏州戴尔电脑服务器维修
浙江ios软件开发项目
视频一分钟了解网络安全法
网络安全我这样做
合肥市网络安全管理规定
pc艾尔登法环无法登陆服务器
rds数据库关闭连接
网络安全示范校申请材料