ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] >[info] ## 1:什么是守护式容器? 1. 能够长期运行 2. 没有交互式会话 3. 适合运行应用程序和服务 <br> <br> >[info] ## 2:以守护的形式运行容器 运行交互式容器时以 **`Ctrl+P Ctrl+Q`** 来退出容器,此时容器还在后台继续运行,我们可以通过docker attach \[name\] 来重新进入容器 **注意:Mac是用contral + P + Q退出** ![](https://img.kancloud.cn/1c/2d/1c2d57063c807b39f9b4d45702b7d1bd_1016x247.png) 上面,我使用了contral + P + Q退出了容器,在使用attach进入了容器,docker ps查看到容器还在运行,然后使用exit退出了容器,在使用docker ps命令容器已经停止了 <br> <br> >[info] ## 3:附加到运行中的容器 上面我们成功的将容器至于到后台运行,那么我们如何再次进入我们已经退出的容器呢??? 这里就需要docker的attach 容器名 命令 ``` docker attach 容器名 ``` ![](https://img.kancloud.cn/32/60/326098c997f8dbb1d4336b7747d845c9_548x113.png) <br> <br> >[info] ## 4:启动守护式容器 如何启动,run命令 docker run -d 鏡像名[COMMAND] [ARG..] 编写一个shell脚本,在容器里面不停的运行 ``` docker run --name one1 -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done" ``` ![](https://img.kancloud.cn/ee/b4/eeb4431c4cdb137f7a170ea10bd5ff6d_945x47.png) 下面返回的是容器的唯一ID ![](https://img.kancloud.cn/0a/0f/0a0f3831845e77cc4758158e6bbceaa2_971x68.png) <br> <br> >[info] ## 5:查看容器日志 `docker logs [options] 容器`获取容器的日志。 | 名字 | 默认值 | 描述 | | --- | --- | --- | | –details | | 显示提供给日志的额外细节 | | –follow或-f | | 按日志输出 | | –since | | 从某个时间开始显示,例如2013-01-02T13:23:37 | | –tail | all | 从日志末尾多少行开始显示 | | –timestamps或-t | | 显示时间戳 | | –until | | 打印某个时间以前的日志,例如 2013-01-02T13:23:37 | <br> <br> ### logs不指定选项 如果不指定logs的选项则返回所有日志 ``` docker logs one1 ``` <br> ### -t [输出时间] ``` docker logs -t one1 ``` ![](https://img.kancloud.cn/ed/d5/edd573085d58415398fda593d6cc11c2_373x324.png) <br> ### -tf [实时更新] ``` docker logs -tf one1 ``` <br> ### - tail 10[只显示10条] ``` docker logs -tf --tail 10 one1 ``` ![](https://img.kancloud.cn/fa/e6/fae62e0bf2bf470b1bfcc6c1abff1f2d_489x284.png) <br> ### - tail 0[只显示最新] ``` dokcer logs -tf --tail 0 one1 ``` <br> <br> >[info] ## 6:查看容器进程 **`docker top 容器名`** ``` docker top one1 ``` ![](https://img.kancloud.cn/3f/05/3f050304e5ae0346ec3348559d5aaf5e_1136x107.png) <br> <br> >[info] ## 7:在运行中的容器内启动新进程 ``` docker exec [-d-][i][-t]容器名[COMMAND] [ARG...] ``` ![](https://img.kancloud.cn/58/ec/58ecf0e1d69332e2e69d7274466cd41f_1194x191.png) <br> <br> >[info] ## 8:如何停止守护式容器 两种方式: **`docker stop 容器名`** stop是发送一个信号给容器,等待容器的停止 **`docker kill 容器名`** kill命令是直接停止容器