docker常用命令及设置开机自启
常用基本命令
# 启动docker systemctl start docker # 停止dokcer systemctl stop docker # 查看docker状态 systemctl status docker # 重启docker systemctl restart docker # 设置docker 开机自启 systemctl enable docker # 查看docker 版本 docker version # 查看docker 镜像 docker images # 查看docker 运行列表 docker ps # 查看docker (运行、停止) docker ps -aq # 删除容器 docker rm -f 容器ID/容器名称(CONTAINER ID/NAMES) # 删除多个容器(空格隔开) docker rm -f 容器ID/容器名称 容器ID/容器名称 … # 删除全部容器 docker rm -f $(docker ps -aq)设置docker开机自启
systemctl enable docker设置容器自启
1. 创建容器时设置:
docker run -d –restart=always –name 容器名称 镜像名称 # 例如: docker run –restart=always 56f0b18af6262. 更新已有容器设置:
docker update –restart=always 容器ID # 例如: docker update –restart=always 56f0b18af626–restart具体参数,详见官方文档
PolicyResultnoDo not automatically restart the container when it exits. This is the default. 默认设置,容器退出时不重启容器。on-failure[:max-retries]Restart only if the container exits with a non-zero exit status. Optionally, limit the number of restart retries the Docker daemon attempts. 在容器非正常退出时重启容器,最多重启max-retries次。alwaysAlways restart the container regardless of the exit status. When you specify always, the Docker daemon will try to restart the container indefinitely. The container will also always start on daemon startup, regardless of the current state of the container. 总是重启容器。unless-stoppedAlways restart the container regardless of the exit status, including on daemon startup, except if the container was put into a stopped state before the Docker daemon was stopped. 总是重启容器,除非在Docker守护程序停止之前容器就处于停止状态。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 demo2.启动之后的容器复制宿主机的时间
docker cp /etc/localtime [containerId]:/etc/localtime docker cp /etc/timezone [containerId]:/etc/timezonecontainerId 为要修改的容器id,注意需要重启容器
3.在Dockerfile中设置
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo Asia/Shanghai >/etc/timezoneDockerfile中添加如上命令即可
修改容器编码格式
首先进入容器查看当前字符编码
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总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
暂无评论内容