docker常用命令及设置开机自启方式

 更新时间:2024年06月18日 16:13:21   作者:Week.D.Awn  
这篇文章主要介绍了docker常用命令及设置开机自启方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

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 56f0b18af626

2. 更新已有容器设置:

docker update --restart=always 容器ID
# 例如:
docker  update --restart=always 56f0b18af626

–restart具体参数,详见官方文档

PolicyResult
noDo 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 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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • docker-maven-plugin打包镜像并上传到私有仓库

    docker-maven-plugin打包镜像并上传到私有仓库

    本文主要介绍了docker-maven-plugin打包镜像并上传到私有仓库,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • docker容器数据卷之具名挂载和匿名挂载问题

    docker容器数据卷之具名挂载和匿名挂载问题

    容器数据卷就是目录的挂载,将我们的容器的目录挂载到宿主机上,从而实现打通宿主机和容器之间的文件共享功能,这篇文章主要介绍了docker容器数据卷 - 具名挂载和匿名挂载问题,需要的朋友可以参考下
    2021-11-11
  • Dockerfile中常用命令汇总

    Dockerfile中常用命令汇总

    本文给大家列出了 Dockerfile 中最常用的指令,完整列表和说明可参看官方文档。希望大家能够喜欢
    2018-11-11
  • 使用Docker构建企业级自定义镜像的方法

    使用Docker构建企业级自定义镜像的方法

    这篇文章主要介绍了使用Docker构建企业级自定义镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • docker和docker compose离线安装完整步骤

    docker和docker compose离线安装完整步骤

    Docker是一种用于容器化应用程序的开源平台,它使得应用程序能够在容器中独立运行,提供了更高的可移植性和便携性,这篇文章主要介绍了docker和docker compose离线安装的相关资料,需要的朋友可以参考下
    2025-10-10
  • Docker深度清除镜像缓存overlay2的实现

    Docker深度清除镜像缓存overlay2的实现

    维清理镜像是通过命令 docker rm i 删除镜像的,但是这条命令不会删除docker build命令产生的缓存文件,本文主要介绍了Docker深度清除镜像缓存overlay2的实现,感兴趣的可以了解一下
    2023-12-12
  • Docker搭建简单的应用栈与容器Hello World访问详解

    Docker搭建简单的应用栈与容器Hello World访问详解

    这篇文章主要介绍了Docker搭建简单的应用栈与容器Hello World访问,结合实例形式详细分析了Docker应用容器栈的获取、互联、启动、配置以及应用访问测试相关操作技巧,需要的朋友可以参考下
    2018-06-06
  • Docker 限制容器可用的CPU的方式

    Docker 限制容器可用的CPU的方式

    这篇文章主要介绍了Docker 限制容器可用的CPU的方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • docker-compose实现wireshark对linux主机进行抓包

    docker-compose实现wireshark对linux主机进行抓包

    这篇文章主要为大家介绍了docker-compose实现wireshark对linux主机进行抓包脚本示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • docker搭建zookeeper集群和kafka集群并使用Java测试详解

    docker搭建zookeeper集群和kafka集群并使用Java测试详解

    本文详细介绍了如何在Linux虚拟机中使用Docker搭建Kafka集群环境,并通过Kafka-Manager进行可视化管理,文章包括了从镜像拉取、容器网络设置、Zookeeper和Kafka集群搭建到测试和使用Java连接集群的全过程
    2026-01-01

最新评论