行业知识
Docker容器化解决方案(进程管理操作)
2026-11-07 23:01:52
来源:互联网转载
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 imagesREPOSITORY TAG IMAGE ID CREATED SIZEtomcat 8 2d2bccf89f53 8 months ago 678MB[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES5b011e57c4d7 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.shUsing CATALINA_BASE: /usr/local/tomcatUsing CATALINA_HOME: /usr/local/tomcatUsing CATALINA_TMPDIR: /usr/local/tomcat/tempUsing JRE_HOME: /usr/local/openjdk-11Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jarUsing CATALINA_OPTS: Tomcat started.进入容器的 CLI 模式(最常用)[root@localhost ~]# docker exec -it tomcat8 bash[root@localhost ~]# docker exec -it tomcat8 bashroot@5b011e57c4d7:/usr/local/tomcat# root@5b011e57c4d7:/usr/local/tomcat# exitexit执行普通命令[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 bashroot@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