天天看點

【docker-jenkins搭建】jenkins容器中建構中文亂碼,時區(六)1. 時區修改:2. 修改環境變量:3. 中文亂碼問題:

1. 時區修改:

将docker主控端的中文時區複制到容器中:

容器中執行:

mkdir -p /usr/share/zoneinfo/Asia

exit

容器外執行:

docker cp /usr/share/zoneinfo/Asia/Shanghai 容器ID或容器名:/usr/share/zoneinfo/Asia

再次進入容器中修改時區配置

docker exec -it -u root 容器Id或容器名 bash

執行指令 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

jenkins中的openjdk使用的時區是/etc/timezone中的配置,需要修改這裡的配置為Asia/Shanghai

vim /etc/timezone

編輯内容,儲存退出:

Asia/Shanghai

這樣還沒有起作用,需要重新開機docker,重新開機容器。

2. 修改環境變量:

  • 停止docker

exit  # 退出容器

sudo service docker stop   # 關閉docker

  • 修改環境變量的檔案中-ENV部分:/var/lib/docker/containers/容器id/config.v2.json
  • 修改後儲存,重新開機docker
sudo service docker restart
  • 重新開機容器:
docker restart autotest-jenkins
  • 檢視容器的環境變量:
docker exec autotest-jenkins env
  • 進入容器
docker exec -it --user root autotest-jenkins /bin/bash

3. 中文亂碼問題:

根據上面步驟修改環境變量(添加)

"JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8"

儲存重新開機後,再次建構就不會中文亂碼了。

參考連結:

https://blog.csdn.net/felix_yujing/article/details/52579248

https://blog.csdn.net/u010448530/article/details/102842320

https://www.cnblogs.com/xiaolangjianke/p/14150493.html