Docker容器化解决方案(进程管理操作)

本文详细介绍了Docker中的几个关键命令,包括kill用于停止容器、rm用于删除容器、create用于创建但不启动容器、exec用于在容器中运行命令以及pause和unpause用于控制容器进程。还展示了如何通过选项指定信号、删除方式和容器管理等。
摘要由CSDN通过智能技术生成

kill

杀死一个或多个正在运行的容器

语法格式
docker kill [OPTIONS] CONTAINER [CONTAINER...]

重点:

docker kill子命令可杀死一个或多个容器
	向容器内部的主进程发送SIGKILL 信号(默认),或使用 --signal选项指定的信号

 说明

options作用
-s发送到什么信号到容器,默认KILL

 

例子

根据容器名字杀掉容器

[root@localhost Fancy_Illusion]# docker kill jenkins

根据容器ID杀掉容器

[root@localhost Fancy_Illusion]# docker kill afb882148e5e

 

rm

删除一个或多个容器

语法格式
docker rm [OPTIONS] CONTAINER [CONTAINER...]

说明

options作用
-f通过SIGKILL信号删除一个正在运行的容器
-l移除容器间的网络,而非容器本身
-v删除与容器映射的目录

例子

强制删除容器
docker rm -f name
删除所有已停止的容器
docker rm$(docker ps -a -q)
删除所有容器
docker rm -f $(docker ps -aq)
docker ps -a -q | xargs docker rm

create

创建一个新的容器但不启动它

语法格式
docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
option作用
--name指定容器的名字

例子

根据 tomcat 镜像,创建一个 myTomcat 容器
docker create --name=myTomcat tomcat
[root@localhost ~]# systemctl start docker
[root@localhost ~]# docker create --name tomcat8 tomcat:8
[root@localhost ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED         SIZE
tomcat        8         2d2bccf89f53   8 months ago    678MB

[root@localhost ~]# docker ps -a
CONTAINER ID  IMAGE COMMAND CREATED STATUS PORTS NAMES
5b011e57c4d7   tomcat:8   "catalina.sh run" About a minute ago   Created   tomcat8

exec

在正在运行的容器中运行命令

exec

在正在运行的容器中运行命令
options作用
-d在后台运行命令
-i即使没有附加也保持STDIN打开,和-t配合
-t进入容器的CLI模式
-e设置环境变量
--env-file读入环境变量文件
-w需要执行命令的目录
-u指定访问容器的用户名

例子

执行 tomcat 容器的 startup.sh 脚本
[root@localhost ~]# docker exec -it tomcat8 startup.sh
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/openjdk-11
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

进入容器的 CLI 模式(最常用)
[root@localhost ~]# docker exec -it tomcat8 bash
[root@localhost ~]# docker exec -it tomcat8 bash
root@5b011e57c4d7:/usr/local/tomcat# 
root@5b011e57c4d7:/usr/local/tomcat# exit
exit

执行普通命令
[root@localhost ~]# docker exec -it tomcat8 pwd
[root@localhost ~]# docker exec -it tomcat8 pwd
/usr/local/tomcat

以 root 用户身份进入容器(重点)
[root@localhost ~]# docker exec -it -uroot jenkins bash
root@afb882148e5e:/# 
好处就是,你在容器里敲命令就是 root 用户,畅通无阻,不存在权限不足的问题

 

pause/unpause

docker pause: 暂停一个或多个容器中的所有进程

docker unpause: 恢复一个或多个容器中的所有进程

语法格式
docker pause CONTAINER [CONTAINER...]
docker unpause CONTAINER [CONTAINER...]

例子

暂停tomcat容器的服务

[root@localhost ~]# docker pause tomcat8 

恢复tomcat容器的服务

[root@localhost ~]# docker unpause tomcat8 

 

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

元气满满的热码式

感谢您的支持!我会继续努力发布

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值