查看容器
查看容器列表
Linux系统中ps命令用来查看进程,而Docker命令也采用了ps。现在你可以在主机的命令中输入:
docker ps
会显示出所有正在运行的容器。包括CONTAINER ID(容器id)、IMAGE(镜像名称)、COMMAND(容器启动命令)、CREATED(容器创建时间)、STATUS(容器的运行状态)、PORTS(主机与容器建立的端口映射)、NAMES(容器名称)。
其中常用的参数包括:
--all。执行docker ps命令的时候默认只显示正在运行的容器,而要显示所有的容器,必须加上该参数,缩写形式为-a。--size。查看容器占用的系统资源,缩写形式为-s。--filter。通过模糊匹配查找容器,--filter name=web将查找名称包含“web”的容器。
查看容器详情
docker ps命令只能显示容器的概要信息,如果要查询容器的详细信息,如我们上一节提到的挂载卷和端口则需要使用docker inspect,使用形式如下:
docker inspect 容器id或名称
注意,由于容器id比较长,这里的容器id可以只写前两位或前三位,能和其它主机容器区分就好。
查看容器日志
当我们启动容器失败的时候,往往需要查看日志信息。可以使用docker logs,具体如下:
docker logs 容器id或名称
该命令会显示容器运行时控制台输出的日志。
操作容器
启停
容器只要在运行就会占用一定的系统的资源,我们可以通过命令来手动停止容器。
docker stop <容器id或容器名称>
当Docker服务停止时容器也会随之停止,如果启动策略不为--restart always的容器不会自动启动,这时可以通过命令来手动启动它。
docker start <容器id或容器名称>
Docker还提供了将两者结合的命令来重启容器:
docker restart <容器id或容器名称>
注意:这些命令都是支持批量操作的,不同的容器id/名称以空格分割,例如:docker restart web server
更新
容器创建之后,有些配置项是可以修改的。例如cpu限额、内存限额以及重启策略(--restart),这时可以使用命令。
docker update <容器id或容器名称>
但是有些配置是不可以修改的,例如端口、挂载卷、名称等,要修改这些信息只能删除它然后重新创建,所以在创建容器之前最好将这些参数考虑清楚。
删除
docker rm <容器id或容器名称>
删除容器的命令非常简单,但是注意几点:
支持批量删除操作。
只能删除已停止的容器,如果要删除正在运行的容器,必须加上参数
-f,例如docker rm -f web。容器删除后,在容器中所进行的所有操作都将一同删除,与主机的共享卷以及虚拟挂载卷不会被删除。
交互
除了上述几个命令,我们用得更多的是进入容器内部进行操作。
docker exec -it <容器id或容器名> <脚本命令>
这条命令可以让我们在容器内部执行一条脚本命令,执行的路径就是我们之前设定的workdir。例如可以执行docker exec -it web ps -ef来查看容器内的进程。那如果要执行多条命令怎么办呢?直接在容器中启动一个脚本终端。例如docker exec -it web sh,这样我们就可以在容器中进行其它操作了:查看系统资源、编译代码、执行文件...
本书地址:https://yalishizhude.gitbooks.io/docker-book/
更多web技术内容请关注公众号“web学习社”
