如何為Docker容器設(shè)置環(huán)境變量?

系統(tǒng)運(yùn)維

創(chuàng)新互聯(lián)公司專注于肅北網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供肅北營銷型網(wǎng)站建設(shè),肅北網(wǎng)站制作、肅北網(wǎng)頁設(shè)計(jì)、肅北網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造肅北網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供肅北網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。開始之前

上一篇文章介紹了如何創(chuàng)建一個(gè)Docker容器,本篇文章(2017-08)介紹如何設(shè)置Docker容器環(huán)境變量,例如示例中的時(shí)區(qū)環(huán)境變量,需要注意的是容器的環(huán)境變量需要在創(chuàng)建容器時(shí)指定,容器時(shí)運(yùn)行無法添加或者更改。

問題描述

發(fā)現(xiàn)使用 docker創(chuàng)建的 tomcat容器日志時(shí)區(qū)不正確(時(shí)差8小時(shí)),即使掛載了宿主機(jī) /etc/localtime文件(宿主機(jī)時(shí)區(qū)是正確的),雖然容器的操作系統(tǒng)時(shí)間正常了,但是 tomcat的日志時(shí)區(qū)仍然是錯(cuò)誤的,這對(duì)容器日志分析帶來麻煩,我們的目標(biāo)是為創(chuàng)建的tomcat容器設(shè)置正確的時(shí)區(qū)。

環(huán)境描述

軟件版本

Tomcat:9 On Docker 1.13.1

宿主機(jī)時(shí)區(qū)文件

tail -n1 /etc/localtime
CST-8

創(chuàng)建容器使用的命令

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

如果對(duì) docker命令參數(shù)不熟悉可以使用 --help 幫助,或者參考這篇文章 <<創(chuàng)建一個(gè)Docker容器>>

日志時(shí)區(qū)

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]

注意: 日志時(shí)間 06:43:48 是不正確的。

解決方法

創(chuàng)建容器時(shí)指定TZ時(shí)區(qū)環(huán)境變量,例如設(shè)置時(shí)區(qū)為 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

再次驗(yàn)證容器時(shí)區(qū)

docker logs --tail 1 new 
10-Aug-2017 14:44:51.736 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]

注意: 日志時(shí)間 14:44:51 才是正確的。

命令幫助

run子命令 -e 參數(shù)設(shè)置容器的環(huán)境變量可以指定多次,多個(gè)環(huán)境變量還可以使用讀取文件的方式 。

docker run --help | grep -i \'\\-env\'
  -e, --env list        Set environment variables
      --env-file list   Read in a file of environment variables
參考文章

如何為Docker容器設(shè)置環(huán)境變量?

doker&k8s Qun [703906133]

新聞名稱:如何為Docker容器設(shè)置環(huán)境變量?
鏈接分享:http://www.muchs.cn/article12/cjpddc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、定制開發(fā)、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化網(wǎng)站制作、關(guān)鍵詞優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營