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

2024-03-07 1588阅读

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

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 

 


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]