版权所有,未经许可,禁止转载
章节
本章我们将详细探讨如何使用容器。
docker top
使用此命令,显示容器中的进程。
典型用法
docker top CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
打印指定容器中的进程
例子
首先使用docker ps
查询运行中的容器(ID),然后使用docker top CONTAINER
显示指定容器中的进程:
[root@qikegu ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2084a03f4c46 busybox "sh" 3 hours ago Up 3 hours distracted_ride
[root@qikegu ~]# docker top 2084a03f4c46
UID PID PPID C STIME TTY TIME CMD
root 6302 6286 0 13:04 pts/0 00:00:00 sh
docker start/stop/restart
此命令用于启动/停止/重启容器。
典型用法
docker start/stop/restart CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
启动/停止/重启容器。
例子
前面我们运行了一个busybox容器,现在我们让它停止运行,然后使用docker ps
检查停止运行是否成功。
[root@qikegu ~]# docker stop 2084a03f4c46
2084a03f4c46
[root@qikegu ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker rm
一个容器即使已经退出,仍然会存在,可以使用docker ps -a
命令查看。命令docker rm
删除容器。
典型用法
docker rm CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
删除指定容器,输出该容器ID。
例子
使用docker ps -a
列出所有容器,包括退出运行的,然后使用docker rm b6f8c654159a
删除指定容器,最后docker ps -a
确认指定容器是否被删除。
[root@qikegu ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f191fd7d469 busybox "sh" 5 hours ago Exited (0) 5 hours ago hopeful_lalande
8ae26063af0b hello-world "/hello" 6 hours ago Exited (0) 6 hours ago nostalgic_jepsen
4e80cdf55081 busybox "sh" 6 hours ago Exited (0) 6 hours ago heuristic_euler
2190b6af6286 hello-world "/hello" 6 hours ago Exited (0) 6 hours ago pensive_ganguly
cd5d988325ff jenkins "/bin/tini -- /usr/l…" 45 hours ago Exited (130) 45 hours ago awesome_heyrovsky
053eaa5cc8e5 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago gifted_booth
b6f8c654159a 2bcb04bdb83f "/bin/bash" 6 weeks ago Exited (127) 6 weeks ago competent_khorana
[root@qikegu ~]# docker rm b6f8c654159a
b6f8c654159a
[root@qikegu ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0f191fd7d469 busybox "sh" 5 hours ago Exited (0) 5 hours ago hopeful_lalande
8ae26063af0b hello-world "/hello" 6 hours ago Exited (0) 6 hours ago nostalgic_jepsen
4e80cdf55081 busybox "sh" 6 hours ago Exited (0) 6 hours ago heuristic_euler
2190b6af6286 hello-world "/hello" 6 hours ago Exited (0) 6 hours ago pensive_ganguly
cd5d988325ff jenkins "/bin/tini -- /usr/l…" 45 hours ago Exited (130) 45 hours ago awesome_heyrovsky
053eaa5cc8e5 hello-world "/hello" 46 hours ago Exited (0) 46 hours ago gifted_booth
docker stats
此命令输出容器的运行统计信息。
典型用法
docker stats CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
显示容器的CPU和内存利用率等运行信息。
例子
显示容器运行时的cpu、内存等信息。
[root@qikegu ~]# docker stats e7407526d69c
输出
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
e7407526d69c vigorous_cohen 0.00% 56KiB / 991.2MiB 0.01% 656B / 0B 0B / 0B 1
docker attach
此命令用于附加到容器中正在运行的进程。
典型用法
docker attach CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
附加到容器中正在运行的进程。
例子
进入到容器(busybox),附加到正在运行的sh
进程。Ctrl + P + Q
退出。
[root@qikegu ~]# docker attach e7407526d69c
/ #
/ #
docker pause
此命令用于暂停正在运行的容器。
典型用法
docker pause CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
暂停正在运行的容器,输出该容器ID。
例子
docker pause af82cc24d7cc
暂停容器,docker ps -a
查看,暂停成功。
[root@qikegu ~]# docker pause af82cc24d7cc
af82cc24d7cc
[root@qikegu ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af82cc24d7cc busybox "sh" 2 minutes ago Up About a minute (Paused) infallible_jennings
...
docker unpause
此命令启动暂停的容器。
典型用法
docker unpause CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
启动暂停的容器,输出该容器ID。
例子
docker unpause af82cc24d7cc
启动容器,docker ps -a
查看,启动成功。
[root@qikegu ~]# docker unpause af82cc24d7cc
af82cc24d7cc
[root@qikegu ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af82cc24d7cc busybox "sh" 6 minutes ago Up 6 minutes infallible_jennings
...
docker kill
杀死正在运行的容器。
典型用法
docker kill CONTAINER
常用选项
- CONTAINER - 容器ID,
docker ps
可以查询
执行结果
杀死正在运行的容器,,输出该容器ID。
例子
杀死正在运行的容器af82cc24d7cc。
[root@qikegu ~]# docker kill af82cc24d7cc
af82cc24d7cc
教程中提到的都是命令典型用法,其他用法,可用
docker help command
查看,例如:docker help rmi
容器生命周期
下图解释了Docker容器的整个生命周期。
- 最开始,Docker容器将处于创建完成状态。
- 接下来,当使用
Docker run
命令启动容器时,Docker容器进入运行状态。 docker kill
命令用于杀死正在运行的Docker容器。docker pause
命令用于暂停正在运行的Docker容器。docker unpause
命令用于启动暂停的Docker容器。docker stop
命令用于退出正在运行的Docker容器。