我的docker随笔23:修改容器时区和添加中文支持
许多 docker 镜像没有时区,默认是0时区,对于日志的时间显示,可能不太友好。另外有些镜像无法输出中文,也不太好友。本文以 busybox 为例,尝试解决此类问题。
时区支持
运行busybox:
docker run -itd --rm --name busybox latelee/busybox
docker exec -it busybox date
Fri Mar 20 05:13:50 UTC 2020docker exec -it busybox cat /etc/localtime
TZif2UTCTZif2UTC
UTC0
查看本地时区文件:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 Dec 17 21:50 /etc/localtime -> /usr/share/zoneinfo/Asia/Shanghai
ls -l /usr/share/zoneinfo/Asia/Shanghai
lrwxrwxrwx 1 root root 6 Oct 3 05:06 /usr/share/zoneinfo/Asia/Shanghai -> ../PRC
cat /usr/share/zoneinfo/PRC
TZif2Ӌ{
pMTCDTCST
CST-8
拷贝本地时区文件:
docker cp /usr/share/zoneinfo/PRC busybox:/etc/localtime
查看:
docker exec -it busybox date
Fri Mar 20 13:14:27 CST 2020
如果在 k8s 中
apiVersion: v1
kind: Pod
metadata:name: busybox-pod1labels:app: busybox
spec:containers:- name: busybox1image: latelee/busyboximagePullPolicy: IfNotPresentcommand: ["sh", "-c", "sleep 3600"]volumeMounts:- mountPath: /test111name: host-volume- mountPath: /etc/localtimename: time-zonevolumes:- name: host-volumehostPath: path: /data- name: time-zonehostPath: path: /etc/localtime
字符编码
进入容器,设置环境变量:
export LANG=C.UTF-8
export LANGUAGE=C.UTF-8
export LC_ALL=C.UTF-8
在 Dockerfile 文件中可如此使用:
ENV LANG C.UTF-8
ENV LANGUAGE C.UTF-8
ENV LC_ALL C.UTF-8
设置前后的输出对比:
/ # æ?????
sh: æ??是中文: not found/ # 我是中文
sh: 我是中文: not found
制作
将该容器保存为新的镜像即可。另外可用 Dockerfile 制作。
总结
是否添加支持,取决于实际需求,如果所有基础镜像均是自己维护,建议添加。
我的docker随笔23:修改容器时区和添加中文支持相关推荐
- (docker) 四步修改容器时区时间!超简洁明了~
注意注意注意! Mysql容器不能使用这种方法,会使得mysql容器直接无法启动! mysql容器建立前可以看笔者这篇文章:docker工作实际使用及其离线部署.容器打包(超简单完整保姆级操作)) S ...
- docker(五):更新容器映射端口
文章目录 说明 分享 资料 方案 1.删除原容器,重启新容器 2.修改原容器配置文件 3.生成镜像,新启容器 总结 说明 本博客每周五更新一次. docker容器启动时通过 -p 指定映射端口,但某些 ...
- alpine linux docker容器时区修改
适用对象 使用 Alpine Linux 发行版的 Docker 镜像容器. 仅仅适用于没有安装uclibc的系统. 修改步骤 进入容器命令行 # docker exec -it container_ ...
- Docker容器部署项目少了8个小时,问题解决Dockerfile修改linux时区
Docker容器部署项目少了8个小时,问题解决&&Dockerfile修改linux时区 情景回顾 打包好的jar包通过Dockerfile构建成一个镜像后,通过docker-comp ...
- 把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像
在上一个part<把AspDotNetCoreMvc程序运行在Docker上-part1>,已经将成功将aspdotnetcore程序运行在两个不同的容器中,目前两个容器的内容完全相同,只 ...
- docker修改容器名字
查看一下容器的名字 这个laughing_elion是下载es时候默认的名字 修改容器名字 docker rename 容器原来名 要改为的名字 最后可以看到容器名已经修改成功
- 我的docker随笔8:docker容器相互访问
很多时候,同一台机器上,需要运行多个docker容器,前文提到的docker-compose就是方便同时管理多个容器的工具,那么,容器与容器之间如何访问.通信呢?本文对此问题进行探讨. 方式一:内部网 ...
- 解决Docker容器时区不一致的问题
解决Docker容器时区不一致的问题 参考文章: (1)解决Docker容器时区不一致的问题 (2)https://www.cnblogs.com/zhi-leaf/p/10604574.html ( ...
- Docker 修改容器端口
Docker 修改容器端口 本文介绍如何修改容器端口 对于已经创建的容器,可以通过下面的方法修改端口: 将容器提交为镜像,重新运行 修改容器配置文件 将容器提交为镜像,重新运行 略 修改容器配置文件 ...
最新文章
- 通过7个函数解密区块链(附代码)
- nginx 修改并隐藏版本号
- 【ARM】ARM体系结构-GPIO
- mongodb 如何更改端口号_Centos7配置MongoDB以及端口修改
- Android 进程的五种生命周期学习
- pycharm下防止鼠标拖拽代码字符
- 【使用教程】面向回家编程-12306智能刷票,订票
- 安卓设备手柄无法映射线性扳机的解决思路(1)
- 网页服务器阿帕奇怎么启动服务,阿帕奇服务器使用教程
- ubuntu SSH 链接服务器加代理
- 【报告分享】小红书品牌营销白皮书2021半年报-新红数据(附下载)
- java实现组织架构
- 【ssh连接】解决网络突然断线进程执行中止问题
- 自定义安装Office 365(适用于个人版订阅等)
- 电脑python如何下载_Python for Windows 32位 v3.7.2下载|Python 3.7.2免费电脑版
- com.aliyun.openservices.ons.api.exception.ONSClientException: defaultMQProducer send order exception
- 自动补水排气定压机组工作原理
- Lucene,Solr,Elasticsearch之间的区别和联系
- {转}我们需要什么样的人生
- 你“被5G”了吗?5G套餐无法改4G 更有运营商下架4G
热门文章
- android xml 焦点,android TV 焦点选中放大效果
- 用rest造句子_rest的用法和短语例句
- 开启灯光就是近光吗_科目三考前必看!夜间灯光语音模拟+超全项目操作
- 由于供不应求 部分新款Apple Watch机型推迟至11月交付
- 这67款APP被下架了
- 小米平板5有望8月发布:骁龙870+120Hz刷新率屏
- 哈苏相机加持!一加9 Pro海外抢先发布:采用120Hz LTPO屏幕
- 拼多多股价创历史新高:市值再度逼近京东
- 罗永浩签约抖音后,带货首秀或将献给小米,你看好这笔生意吗?
- 微信官方回应iOS 13.2频繁杀后台问题:建议先不升级