docker基础(七)之docker start/stop/kill/restart/pause/unpause

文章目录

  • 概述
  • 命令速查
  • docker start
    • 语法
    • OPTIONS详解:
  • docker stop
    • 语法
    • OPTIONS详解:
  • docker restart
    • 语法
    • OPTIONS详解:
    • 示例和说明
  • docker kill
    • 语法
    • OPTIONS说明:
  • docker pause
    • 语法
    • 示例
  • docker unpause
    • 语法
    • 示例
  • docker stop 和docker kill区别
  • docker pause和docker unpause的使用场景

概述

用于学习和记录,以下内容来自chatgpt3.5,网络等,补充例子。
本文介绍了docker start/stop/kill/restart/pause/unpause的基础用法,及相关options的详细解释和例子。

docker系列其他文章:docker专栏

命令速查

docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker pause :暂停容器中所有的进程。
docker unpause :恢复容器中所有的进程。

docker start

docker start :启动一个或多个已经被停止的容器

PS:意思就是,这个作用的前提是,这个容器以及被停止了需要重新启动。

语法

docker start [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS详解:

当使用 docker start 命令启动容器时,可以使用不同选项来满足不同的需求,例如:

  • -a, --attach:附着到容器的标准输出。适用于需要实时查看容器的输出信息,比如查看容器的日志或调试容器内部的运行情况。
docker start -a <container_id>
  • --checkpoint --checkpoint-dir:用于从指定的检查点恢复容器。这对于容器迁移或者容器快速恢复非常有用。
docker start --checkpoint=mycheckpoint <container_id>
  • -i, --interactive:保持标准输入打开,即使没有附着到容器。适用于需要与容器进行交互的场景,比如在启动容器后执行命令。
docker start -i <container_id>
  • --restart=always:表示如果容器退出,则始终重新启动容器。适用于需要在容器退出时自动重新启动容器的情况,比如关键服务的容器。
docker start --restart=always <container_id>

这些选项可以根据具体的需求来灵活调整,在启动容器时提供更多的灵活性和控制。

docker stop

docker stop :停止一个运行中的容器

语法

docker stop [OPTIONS] CONTAINER [CONTAINER...]

docker stop 命令用于停止一个或多个正在运行的容器。这个命令会发送一个停止信号给容器,然后容器会进行优雅地关闭。

OPTIONS详解:

  • -t, --time 选项
    这个选项用来指定容器等待多长时间后强制停止,单位为秒。如果容器在指定的时间内无法优雅地关闭,则会被强制停止。默认情况下,Docker 会等待 10 秒后发送 SIGKILL 信号。
docker stop -t 30 <container_id>

这个命令将发送停止信号给容器,并等待 30 秒后如果容器还未关闭则发送 SIGKILL 信号强制关闭。

  • --help 选项
    这个选项用于显示帮助信息,列出 docker stop 命令的用法和选项。
docker stop --help

这个命令会输出关于 docker stop 命令的帮助信息。

这些选项可以根据具体的需求来使用,帮助控制 docker stop 命令的行为。

docker restart

docker restart :重启容器

语法

docker restart [OPTIONS] CONTAINER [CONTAINER...]

docker restart 命令用于重新启动一个或多个已经运行的容器。

OPTIONS详解:

  • --time:指定容器在重启之前的等待时间。
  • --help:显示帮助信息。

示例和说明

  • 重新启动单个容器:
docker restart <container_id>

这个命令将重新启动指定的容器。

  • 重新启动多个容器:
docker restart <container_id_1> <container_id_2> <container_id_3> ...

这个命令将重新启动多个指定的容器。

  • 使用 --time 选项指定重启前的等待时间:
docker restart --time 30 <container_id>

这个命令将重新启动指定的容器,并且在重启前等待 30 秒。这样可以让容器有时间进行优雅地关闭。

docker kill

docker kill :杀掉一个运行中的容器。

语法

docker kill [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明:

  • -s :向容器发送一个信号docker kill 命令用于发送信号给容器来停止容器的运行,可以使用不同的选项来控制操作。以下是一些示例和说明:

  • 停止单个容器:

docker kill <container_id>

这个命令将发送 SIGKILL 信号给指定的容器,强制终止容器的运行。

  • 停止多个容器:
docker kill <container_id_1> <container_id_2> <container_id_3> ...

这个命令将发送 SIGKILL 信号给多个指定的容器,强制终止这些容器的运行。

  • 使用选项 -s 指定发送的信号:
docker kill -s SIGTERM <container_id>

这个命令将发送指定的信号(这里是 SIGTERM)给指定的容器,可以使用信号名称或者信号编号。默认的信号是 SIGKILL(编号为 9),一般用于强制终止一个容器。但也可以使用其他信号进行优雅地终止容器,比如 SIGTERM(编号为 15)SIGTERM 是一个终止信号,通常会要求容器优雅地关闭。

  • 与容器交互式地停止:
docker kill -s SIGINT -t 10 <container_id>

这个命令将发送 SIGINT 信号给容器,并且在发送信号后等待 10 秒。SIGINT 是一个终止信号,通常会请求容器进行优雅地关闭。

  • -q, --quiet 选项
    这个选项用于安静模式,命令执行时不会输出任何信息。
docker kill -q <container_id>

这个命令将以安静模式发送 SIGKILL 信号给指定的容器,并且不输出任何信息。

docker pause

docker pause :暂停容器中所有的进程。

语法

docker pause CONTAINER [CONTAINER...]

示例

暂停数据库容器db01提供服务。

docker pause db01

docker unpause

docker unpause :恢复容器中所有的进程。

语法

docker unpause CONTAINER [CONTAINER...]

示例

恢复数据库容器 db01 提供服务。

docker unpause db01

docker pause 命令用于暂停一个或多个正在运行的容器,所有容器内的进程都会被暂停。这可以用于临时暂停容器的运行,

例如在维护或调试容器时。其基本用法如下:

docker pause CONTAINER [CONTAINER...]
docker pause my_container

这个命令将会暂停名为 my_container 的容器。

可以同时暂停多个容器,命令如下:

docker pause container1 container2 container3

如果要恢复暂停的容器,使用 docker unpause 命令:

docker unpause my_container

这个命令将会恢复名为 my_container 的容器。

docker stop 和docker kill区别

docker stop 和 docker kill 都用于停止容器的运行,但它们之间有一些关键的区别:

  1. docker stop:发送一个停止信号给容器,要求容器进行优雅地关闭。容器会收到 SIGTERM 信号,然后有一定的时间进行清理和关闭工作,如保存状态、关闭连接等。如果容器超过指定的时间仍未停止,则 Docker 会发送 SIGKILL 信号来强制停止容器。这样做的目的是尽量避免数据丢失或者状态损坏。
  2. docker kill:发送一个强制终止信号给容器。容器会立即收到 SIGKILL 信号,停止运行,不会有任何清理工作,可能导致数据丢失或者状态损坏。

因此,docker stop 会尝试优雅地关闭容器,而 docker kill 直接强制终止容器的运行。一般来说,建议优先使用 docker stop 来停止容器,以避免可能的数据丢失或损坏,并只在必要时才使用 docker kill。

docker pause和docker unpause的使用场景

docker pause和docker unpause命令在以下场景中可能会有用:

  • 维护操作:当需要对容器进行维护时,可以使用docker pause命令暂停容器的执行。这样可以确保在维护期间容器内的进程暂停,以便进行必要的操作,如修复问题、更新软件等。完成维护后,使用docker unpause命令恢复容器的执行。

  • 资源管理:通过暂停容器,可以释放容器占用的系统资源。这在某些情况下可能很有用,例如当需要为其他重要任务或容器提供更多的资源时,可以暂停一些不紧急的容器,以释放资源。

  • 调试和故障排除:在调试容器时,可以使用docker pause命令暂停容器的执行,以便检查容器内部的状态、日志和进程。这有助于定位和解决问题。一旦调试完成,可以使用docker unpause命令恢复容器的执行。

请注意,暂停容器会导致容器内的进程停止执行,可能会影响容器提供的服务。在使用这些命令时,请确保了解其潜在的影响并谨慎操作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/764571.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

InnoDB 缓存

本文主要聊InnoDB内存结构, 先来看下官网Mysql 8.0 InnoDB架构图 MySQL :: MySQL 8.0 Reference Manual :: 17.4 InnoDB Architecture 如上图所示,InnoDB内存主要包含Buffer Pool, Change Buffer, Log Buffer, Adaptive Hash Index Buffer Pool 其实 buffer pool 就是内存中的…

Python---常用的web框架

Django 特点&#xff1a;Django是一个全功能的Web框架&#xff0c;提供了许多内置的功能和工具&#xff0c;如ORM、表单处理、认证等。它的设计理念是“一切都包含在框架中”&#xff0c;因此适合构建复杂的、大型的Web应用程序。优势&#xff1a;Django具有强大的开发效率和稳…

练习实践-进程回收01-找到并清理僵尸进程

参考来源&#xff1a; https://blog.csdn.net/qq_36528114/article/details/71076110 https://blog.51cto.com/u_12083623/2363384 极客时间-性能优化实战-CPU性能篇 进程回收中的孤儿和僵尸进程的特点 演示环境&#xff1a; 操作系统&#xff1a;Ubuntu18.04 查询工具&#x…

Golang案例开发之gopacket抓包三次握手四次分手(3)

文章目录 前言一、理论知识三次握手四次分手二、代码实践1.模拟客户端和服务器端2.三次握手代码3.四次分手代码验证代码完整代码总结前言 TCP通讯的三次握手和四次分手,有很多文章都在介绍了,当我们了解了gopacket这个工具的时候,我们当然是用代码实践一下,我们的理论。本…

Java 基础学习(二十)Maven、XML与WebServer

1 Maven 1.1 什么是Maven 1.1.1 Maven概述 Maven是一种流行的构建工具&#xff0c;用于管理Java项目的构建&#xff0c;依赖管理和项目信息管理。它使用XML文件来定义项目结构和构建步骤&#xff0c;并使用插件来执行各种构建任务。Maven可以自动下载项目依赖项并管理它们的…

【Sqoop教程】Sqoop学习教程以相关资料

当使用Sqoop进行数据传输时&#xff0c;以下是更详细的步骤和示例&#xff1a; 步骤1&#xff1a;安装和配置Sqoop 下载Sqoop并解压缩到指定目录。配置sqoop-env-template.sh文件&#xff0c;设置JAVA_HOME、HADOOP_COMMON_HOME等环境变量&#xff0c;并另存为sqoop-env.sh。…

PMSM 永磁同步电机滑膜控制 SVPWM矢量控制 matlab simulink 仿真

仿真搭建平台&#xff1a; (1)该模型采用matlab/simulink 2016b版本搭建&#xff0c;使用matlab 2016b及以上版本打开最佳; (2)该模型已经提前转换了各个常用版本&#xff08;最低为matlab2012b&#xff09;&#xff0c;防止出现提示版本过高的情况。 模型截图&#xff1a; 算…

1、goreplay流量回放

目的 在实际项目中&#xff0c;会有大量的回归测试工作&#xff0c;通常会使用自动化代码的手段来实现回归&#xff0c;但是对于一个庞大的系统来说&#xff0c;通过自动化脚本的方式来实现回归测试&#xff0c;又显得很费时费力。并且如果有定期将线上数据同步到测试环境的需求…

【mysql 127错误】mysql启动报错mysqld.service: Failed with result ‘exit-code‘.

无网环境&#xff0c;mysql 安装 出现如下错误 [rootmysql tools]# systemctl status mysqld.service ● mysqld.service - MySQL ServerLoaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since…

XSKY 智能存储,助力“数据要素 X”先进制造

3 月 21-22 日&#xff0c;主题为“突破 智行”的 IMC2024 第七届中国智造数字科技峰会在重庆召开。作为在先进制造领域拥有领先存储解决方案以及众多应用实践的企业&#xff0c;星辰天合受邀参加了此次峰会并荣获大会颁发的“最佳存储解决方案奖”。同时&#xff0c;星辰天合先…

防火墙的原理和配置

“防火墙”一词起源于建筑领域&#xff0c;用来隔离火灾&#xff0c;阻止火势从一个区域蔓延到另一个区域。引入到通信领域&#xff0c;防火墙这一具体设备通常用于两个网络之间有针对性的、逻辑意义上的隔离。这种隔离是选择性的&#xff0c;隔离“火”的蔓延&#xff0c;而又…

Set A Light 3D Studio中文--- 打造专业级3D照明效果

Set A Light 3D Studio是一款专业的灯光模拟软件&#xff0c;专为摄影师和电影制片人打造。它允许用户在计算机上模拟并预览各种布光效果&#xff0c;助力拍摄出真实、精准且具有艺术感的作品。软件提供了丰富的灯光和场景模型&#xff0c;用户可以灵活调整光源参数&#xff0c…

(附源码)基于Spring Boot与Vue的宠物用品销售系统设计与实现

前言 &#x1f497;博主介绍&#xff1a;✌专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2024年Java精品实战案例《100套》 &#x1f345;文末获取源码联系&#x1f345; &#x1f31…

2024年3月22蚂蚁新村今日答案:以下哪一项是陕西省的非遗美食?

2024年3月22日蚂蚁新村今日问题的正确答案如下&#xff1a; 问题&#xff1a;以下哪一项是陕西省的非遗美食&#xff1f; 选项&#xff1a;驴肉火烧 水盆羊肉 答案&#xff1a;水盆羊肉 解析&#xff1a;水盆羊肉是陕西省的非遗美食。水盆羊肉是陕西省的一道传统著名饭食&a…

蓝桥杯第二天刷真题

public class Main {public static void main(String [] args) { //存大数方法String s"202320232023"; // 定义一个字符串&#xff0c;它将被转换为结束循环的数值long end Long.parseLong(s);long sum 0;long primarynumber 1;for(int i 1; i<end; i) {long …

mac 同步安卓手机屏幕

工具 scrcpy 1. 安装scrcpy brew install scrcpy2. 确保有adb命令 adb --version #查看版本号 brew install --cask android-platform-tools #安装adb环境安装后找不到adb&#xff0c;重启终端 3. scrcpy scrcpy #默认设备### 存在多个设备会失败 scrcpy 2.4 <https://…

需求:JSON数据显示null值或者不显示null值

使用hutool的工具类 import cn.hutool.json.JSON; import cn.hutool.json.JSONConfig; import cn.hutool.json.JSONUtil;public class Main {public static void main(String[] args) {String sss "{\"1\":\"a\",\"2\":null}";// 不…

手撕LRU 最近最少使用缓存淘汰策略 + LinkedHashMap

LRU 最近最少使用缓存淘汰策略 1 LRU 算法就是一种缓存淘汰策略2 手撕LRU3 LinkedHashMap 常见面试题 1 LRU 算法就是一种缓存淘汰策略 计算机的缓存容量有限&#xff0c;如果缓存满了就要删除一些内容&#xff0c;给新内容腾位置。但问题是&#xff0c;删除哪些内容呢&#x…

react 祖孙关系传递

1. utils下的context.js import React ,{ createContext} from "react" //createContext 是创建一个上下文对象 export const dateContext createContext({}) // 创建了一个上下文对象 export const {Provider,Consumer} dateContext 2.爷爷组件 import {Provi…

【JavaScript 漫游】【041】File 对象、FileList 对象、FileReader 对象

文章简介 本篇文章为【JavaScript 漫游】专栏的第 041 篇文章&#xff0c;主要对浏览器模型中 File 对象、FileList 对象和 FileReader 对象的知识点进行了简记。 File 对象 File 对象代表一个文件&#xff0c;用来读写文件信息。它继承了 Blob 对象&#xff0c;或者说是一种…