docker及容器设置开机自启,并修改容器时间、编码格式

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

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

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值