查看容器

查看容器列表

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学习社”

results matching ""

    No results matching ""