服务器的机房,有时候需要关机重启,进行机房改造!

docker自启动

查看已经启动的服务

systemctl list-units --type=service

如上图,docker已经启动,

如果没有启动,就先执行一下启动命令

systemctl start docker

查看docker是否设置了开机自启

systemctl list-unit-files | grep docker

如上图,设置成功,如果没有设置开机自启,就是disabled

设置开机启动命令

systemctl enable docker.service

容器自启动

设置容器自启动有两种方式,一个是在创建并启动容器时,一种是在容器启动之后

创建并启动容器时,添加--restart=always

docker run -d --restart=always --name demo -p 8080:8080 -v /home/java_backend/logs:/app/logs demo

容器启动之后,执行如下命令

docker update --restart=always   容器名称

修改容器时间

修改容器时间有三种方式:创建并启动容器时共享宿主机时间、启动之后的容器复制宿主机的时间、在Dockerfile中设置

1.创建并启动容器时共享宿主机时间,在启动命令中增加-v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro

docker run -d --restart=always --name demo -p 8080:8080 -v /home/java_backend/logs:/app/logs -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro demo

2.启动之后的容器复制宿主机的时间

docker cp /etc/localtime [containerId]:/etc/localtime
docker cp /etc/timezone [containerId]:/etc/timezone

containerId 为要修改的容器id,注意需要重启容器

3.在Dockerfile中设置

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone

Dockerfile中添加如上命令即可

修改容器编码格式

首先进入容器查看当前字符编码

locale

查看本地拥有的字符编码

locale -a

C.UTF-8可以支持中文,只需要把容器编码设置为C.UTF-8即可(有的是zh_CN.UTF-8,不过我在本地没发现这种编码)

临时修改字符编码

设置字符编码为C.UTF-8

export LANG=C.UTF-8

重新加载环境变量

source /etc/profile

永久修改

Dockerfile中添加命令

ENV LANG C.UTF-8

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐