天天看点

【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