计算机网络/计算机科学与应用/系统/运维/开发

第十一章、Docker新建/启动/查看/统计容器


一、创建容器

docker [ container ] create  -it 命令新建一个容器

[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker create -it ubuntu:latest
Unable to find image 'ubuntu:latest' locally
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete 
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
13ac76507ed2b3d6cea068888a61c499901b6ef3b694a9744e28d88f6e8af622

注意:使用docker create命令新建的容器处于停止状态,可以使用docker start  容器名命令来启动它


查看容器信息命令  inspect 、top 、 stats 子命令

二、查看容器详情

1、查看容器信息

docker  container  inspect  [OPTIONS]  CONTAINER  [CONTAINER...] 查看容器详细


例如,查看某容器的具体信息,会以json格式返回包括容器Id、创建时间、路径、状态、镜像、配置等在内的各项信息

# docker container inspect mysql-stu
[
    {
        "Id": "9068267d06688d938ff940954b3111a72776bb9877882d590026ec2d70291e64",
        "Created": "2020-04-28T01:42:49.98741003Z",
        "Path": "docker-entrypoint.sh",

2.查看容器内进程

查看容器内进程可以使用docker [container] top [OPTIONS] CONTAINER [CONTAINER...]子命令


实例,打印出容器内的进程信息,包括PID、用户、时间、命令等

# docker top mysql-stu
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
polkitd             16191               16175               0                   11:09               pts/0               00:00:05            mysqld


3、查看统计信息

查看统计信息可以使用docker [container] stats [OPTIONS] [CONTAINER...]子命令,会显示CPU、内存、存储、网络等使用情况的统计信息。

支持选项包括:

-a, -all:输出所有容器统计信息,默认仅在运行中;

-format string:格式化输出信息;

-no-stream:不持续输出,默认会自动更新持续实时结果;

-no-trunc:不截断输出信息。


实例,查看mysql-stu 容器cpu,内存等信息

# [root@localhost ~]# docker stats mysql-stu 
CONTAINER ID   NAME        CPU %     MEM USAGE / LIMIT   MEM %     NET I/O     BLOCK I/O        PIDS
efe690fe0720   mysql-stu   0.11%     429.5MiB / 3.7GiB   11.34%    656B / 0B   102MB / 37.6MB   35


三、新建容器

Docker 容器的create  start run wait 和 logs子命令


1、新建容器 docker [container] create  -it  容器名

[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker create -it ubuntu:latest
7c46df08e39ab3b360d553fccb384c50b884b25b876b29221b3a7880fef438c5
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker ps -a
CONTAINER ID   IMAGE           COMMAND                  CREATED              STATUS                         PORTS                               NAMES
7c46df08e39a   ubuntu:latest   "bash"                   About a minute ago   Created                                                            condescending_tu
331fce5b6469   ubuntu:18.04    "bash"                   About an hour ago    Exited (0) About an hour ago                                       upbeat_goldstine
71162f501591   nginx           "/docker-entrypoint.…"   5 hours ago          Up 5 hours                     0.0.0.0:80->80/tcp, :::80->80/tcp   web1
8baf20a894b4   nginx           "/docker-entrypoint.…"   5 hours ago          Exited (0) 5 hours ago                                             web
be0b570eaafc   nginx           "/docker-entrypoint.…"   5 hours ago          Created                                                            webserver
[root@iZ8vb9nmgwljcf9m2wxaekZ ~]#


docker  [container]  create命令新建的容器处于停止状态,

使用docker[container]start命令来启动它


2、启动容器 

docker  [container]  start  命令来启动一个已经创建的容器。


实例:启动刚创建的ubuntu容器

[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker start 7c
7c


实例:通过docker ps命令 查看运行中的容器

[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker ps
CONTAINER ID   IMAGE           COMMAND                  CREATED         STATUS          PORTS                               NAMES
7c46df08e39a   ubuntu:latest   "bash"                   3 minutes ago   Up 16 seconds                                       condescending_tu
71162f501591   nginx           "/docker-entrypoint.…"   5 hours ago     Up 5 hours      0.0.0.0:80->80/tcp, :::80->80/tcp   web1


实例:查看所有容器

[root@localhost ~]# docker ps -a


3、新建并启动容器 

docker  [container]  run

等价于先执行docker[container]create命令,

再执行docker[container]start命令


例如,下面的命令输出一个“Hello World”,之后容器自动终止

[root@iZ8vb9nmgwljcf9m2wxaekZ ~]# docker run ubuntu /bin/echo 'hello world'
hello world


查看容器状态相关命令:

docker ps  查看当前运行状态的容器

docker ps -a  查看所有容器的状态 包括退出的和运行的

docker ps -q  只显示运行状态的容器的ID (-aq 显示所有状态的容器的ID)

docker ps -s  查看容器的大小 (-as 显示所有容器的大小)

docker ps -l  查看最近的一个容器状态

docker ps -n 数字  列出最近创建的n个容器

docker ps -f  根据条件过滤显示的容器 


参考:

https://juejin.cn/post/7397433958061441050

https://www.jb51.net/server/31372000u.htm


Docker

人生建议:不要因为嘴硬而失去重要的东西,清醒,知趣,明得失,知进退。

评论

^