服务器的机房,有时候需要关机重启,进行机房改造!
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