docker容器修改时区
2025-12-02
同事找我说docker容器里跑的服务时区不太对,我用date命令看了下时间确实是UTC零时区,外面的宿主机是东八区的没问题。
在容器内尝试了timedatectl set-timezone Asia/Shanghai提示timedatectl命令找不到。
在容器内尝试了cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime提示目录找不到。
直接设置时间怕退出命令行以后再出问题,还得改配置文件。查了下docker修改容器内时区的方法给出的都是用Dockerfile或者重启容器的时候设置时区。显然我不想重新run一遍容器于是打算用宿主机的时区配置覆盖容器里的配置,因为我容器镜像本来就基于宿主机相同版本linux。
#在宿主机执行docker命令
docker stop 我的容器名称
docker cp /usr/share/zoneinfo/Asia/Shanghai 我的容器名称:/etc/localtime
docker start 我的容器名称
操作完后启动服务,一切正常了!
linux系统抢救(deepin22.x)
2025-12-02
今天快下班的时候把公司电脑系统搞崩溃了。
起因是我想装个绘制2D像素风工具aesprite,从官网下载的试用版只能画不能保存于是想着去GitHub下载源码自己编译。结果就是编译脚本提示找不到cmake,鬼使神差下sudo apt install cmake接下来就悲剧了,命令行无论输入什么命令都提示“段错误”。慌乱之下重启了系统紧接着就开不了机了无法正常进入系统,重启进入修复启动项目也是一样,此时心里咯噔一下怕是要重装系统了。
接下来问同事要了U盘PE启动打算从deepin 镜像文件进Linux 看看能修复就修复,至少抢救些文件回来,实在不能修复就只能重装。结果deepin22貌似只能从制作好的U盘启动,无奈进win10PE然后用分区工具进去按时间排序找到最近修改过的文件直接干掉,不能干掉的就用之前的备份替换。重启后终于进系统了。
梳理了一下抢救顺序:
1、尝试强制重启deepin.
2、尝试从开机启动项的恢复模式启动。
3、用U盘PE进入win10PE,尝试先抢救一些关键文件,并且尝试从直接硬盘引导系统。
4、用分区工具diskgenius进入linux分区,按最新时间排序找出系统崩溃时修改的文件,能删的就删掉,不能删的就尝试替换。
显然第四步很关键,root目录下有个两个文件被修改了我用之前备份的文件覆盖后重启抢救成功!