Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >如何获得Docker容器进程ID?

如何获得Docker容器进程ID?

作者头像
用户1560186
发布于 2019-11-20 09:08:51
发布于 2019-11-20 09:08:51
5.8K00
代码可运行
举报
文章被收录于专栏:运维录运维录
运行总次数:0
代码可运行
开始之前

在某些情况下,比如系统负载很高 docker stop 无法关闭某个容器(无响应),这时可以根据容器进程的ID找到宿主机进程ID,然后强制kill掉这个容器,最好已经使用了数据卷保证数据持久化,否则强制关闭容器可能会导致容器内数据丢失(关于数据卷后续专门写一篇文章)。

操作步骤

1. 列出当前容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker ps --format '{{.ID}} {{ .Names }}'

CONTAINER ID    NAMES
1201281cb959    web
425a6234df74    db

2. 获得容器进程ID

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker inspect -f '{{ .State.Pid }}' web
9834

3. 进程信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tail /proc/9834/cmdline ;echo 
nginx: master process nginx -g daemon off;

4. 最后如有必要可以kill这个进程ID,这等于强制杀掉容器进程。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
kill -9 9834

容器进程

内容摘自 <<Docker — 从入门到实践>> 一书。

镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的独立的命名空间。因此容器可以拥有自己的 root文件系统、自己的网络配置、自己的进程空间,甚至自己的用户 ID空间。

容器内的进程是运行在一个隔离的环境里,使用起来,就好像是在一个独立于宿主的系统下操作一样。这种特性使得容器封装的应用比直接在宿主运行更加安全。

小结

最后来总结下文章中的知识点

  • Docker容器本质上是宿主机上的进程。
  • 容器进程ID就是宿主机进程ID,因为它们是相同的。
  • 如果Docker守护进程正常响应命令,请不要使用直接kill进程的方法。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 运维录 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker系列教程05-容器常用命令
本节我们来讨论Docker容器的常用命令。 新建并启动容器[重要] 使用以下 docker run 命令即可新建并启动一个容器。该命令是我们最常用的命令了,它有很多选项,下面笔者列举一些常用的选项。 ① -d选项:表示后台运行 ② -P选项:随机端口映射 ③ -p选项:指定端口映射,有以下四种格式。 ip:hostPort:containerPort ip::containerPort hostPort:containerPort containerPort ④ --network选项:指定网络模式,该选项
用户1516716
2018/04/03
9460
Docker系列教程05-容器常用命令
五分钟学K8S系列<五> - 一万五千字成为docker 的容器管理高手
Docker 通过提供一系列精细的命令,使得容器管理变得异常便捷。这些命令可以根据它们的用途和使用频率被归纳为核心命令和辅助命令两大类。
五分钟学SRE
2024/05/03
5160
五分钟学K8S系列<五> - 一万五千字成为docker 的容器管理高手
docker 常用命令大全(基础、镜像、容器、数据卷)
这里的mysql就是repository,5.7就是tag,合一起就是镜像名称,代表5.7版本的MySQL镜像。
寻求出路的程序媛
2024/03/04
11.4K1
docker 常用命令大全(基础、镜像、容器、数据卷)
docker 常用操作命令_docker命令大全
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/01
3730
【docker深入浅出】一文学透Docker基础万字好文
Docker 最初是dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,它是基于dotCloud公司多年云服务技术的一次革新,并与2013年3月以Apache 2.0授权协议开源),主要项目代码在GitHub上进行维护。Docker项目后来还加入了Linux基金会,并成立推动开放容器联盟。
iOS Magician
2023/10/11
5370
【docker深入浅出】一文学透Docker基础万字好文
Docker基础修炼3--Docker容器及常用命令
前文讲解了Docker镜像的原理和常用命令,本文继续通过官方的Apache镜像演示Docker容器相关的常用操作及命令。
不会飞的小鸟
2020/05/14
5480
Docker容器
Docker利用容器来开发、运行应用。容器是镜像创建的实例。它可以被启动、开始、停止、删除。每个容器都是 相互隔离的、保证安全的平台。类似安装系统的电脑实体。简单的说,容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统(提供了运行态环境和其他系统环 境)和跑在上面的应用。
清风穆云
2021/08/09
8580
Docker 最常用的镜像命令和容器命令
通过运行 hello-world 镜像来验证 Docker Engine 是否已正确安装。
贾维斯Echo
2024/03/19
4K0
Docker 最常用的镜像命令和容器命令
一文详解Docker容器(Container)
Docker容器(Container) 是独立运行的一个或一组应用。 Docker容器(Container) 是从 Docker镜像(Images) 创建的运行实例,它可以被启动、开始、停止、 删除。 每个 Docker容器(Container) 都是相互隔离的、保证安全的平台。Docker容器(container) 和 Docker镜像(Images) 以及 Docker仓库 并称为 Docker 的三大核心概念。
一个风轻云淡
2023/10/26
2.4K0
docker容器常用命令
优点:制作方便,只要进入容器,安装好环境,就可以制作一个新的镜像,并部署到其他环境。
星星在线
2020/07/22
1.2K0
Docker 常用命令及部署
- NAME : 镜像名称 - DESCRIPTION : - STARS : 镜像仓库收藏数 - OFFICIAL : 是否为官方文档 - AUTOMATED : 是否是自动构建的仓库
haoming1100
2019/01/03
7540
【Docker】命令使用大全
容器的出现是为了解决环境配置的问题,虚拟机是一种解决方案,但是也有一些缺点,再后来出现了 Linux 容器,Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的 Linux 容器解决方案。
机器视觉CV
2020/08/13
1.1K0
【云原生】Docker 命令大全之容器生命周期管理
实例 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
互联网-小阿宇
2022/11/21
4310
Docker 学习总结
推荐安装 vagrant + VirtualBox 快速搭建 docker host,不推荐直接使用 Docker for Mac
CS逍遥剑仙
2020/06/07
3K0
docker容器技术系列四:docker常用操作命令详解
现在我们来探讨更多docker的操作 1、查看当前本地主机上可用的镜像: # docker images 2、搜索一个公共镜像: # docker search imageName 3、下载镜像: #
小小科
2018/05/04
6170
docker容器技术系列四:docker常用操作命令详解
Docker容器学习梳理--基础知识(2)
之前已经总结了Docker容器学习梳理--基础知识(1),但是不够详细,下面再完整补充下Docker学习的一些基础。 Docker是个什么东西 Docker是一个程序运行、测试、交付的开放平台,Docker被设计为能够使你快速地交付应用。 在Docker中,你可以将你的程序分为不同的基础部分,对于每一个基础部分都可以当做一个应用程序来管理。 Docker能够帮助你快速地测试、快速地编码、快速地交付,并且缩短你从编码到运行应用的周期。 Docker使用轻量级的容器虚拟化平台,并且结合工作流和工具,来帮助你管
洗尽了浮华
2018/01/23
2K0
Docker容器学习梳理--基础知识(2)
Docker的容器
coders
2018/01/04
9720
【k8s学习笔记一】容器及Docker基础
在该OS上再运行应用进程;而容器的应用进程直接运行在宿主的内核,没有自己的内核,也没有硬件虚拟,比传统虚拟机更轻便。
fankhu
2021/08/06
1K0
Docker 从入门到掉坑
简单的对docker进行介绍,可以把它理解为一个应用程序执行的容器。但是docker本身和虚拟机还是有较为明显的出入的。我大致归纳了一下,可以总结为以下几点:
乔戈里
2020/02/21
9340
Docker 从入门到掉坑
docker的常用命令汇总_Docker命令
Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
全栈程序员站长
2022/09/29
8770
docker的常用命令汇总_Docker命令
相关推荐
Docker系列教程05-容器常用命令
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文