Docker入门(二)

简介: 上一节中,我们了解到了Docker 的一些基本知识点,它的一些核心概念,Docker的使用安装等。此篇文章我们对 Docker 进行入门讲解

重新启动已经停止的容器

例如,我使用docker ps命令没有发现容器正在启动

49.png

但是你可以使用 docker start cxuan_container 启动指定的container。

重新使用 docker ps 查看活跃的docker 容器


50.png

也可以直接根据container id进行启动,我先用 docker ps -a 查看一下所有的container

51.png


比如我想启动containerId 为 18178c34cd5a 这个容器,就直接使用 docker start 18178c34cd5a,启动完成后会直接输出 containerId。

52.png


重新查询现在正在运行的 docker container ,发现两个都在运行了

53.png


附着容器

Docker 容器重新启动的时候,会沿用docker run 命令时指定的参数来运行,因此我们容器重新启动后会运行一个交互式会话shell。此外,我们也可以用 docker attach命令,重新附着该容器到会话上

54.png


也可以通过 docker attach containerId 的方式附着到会话上,如下所示

55.png


如果退出 shell 进程,容器也会随之停止运行

创建守护式容器

除了这些交互式运行的容器,我们也可以创建长期运行的容器。守护式容器没有交互式会话,非常适合运行应用程序和服务。大多数情况下我们需要以守护式来运行我们的容器。下面我们创建一个守护式容器


56.png


上面的示例中使用了 -d ,因此 Docker 会将容器放在后台进行。

我们还在容器要运行的命令行里使用了一个 while 循环,该循环会一致打印 hello world 直到容器或者进程停止运行。

容器日志

上面的示例我们创建了一个 docker 的守护式进程,进程里面一直在使用 while 进行循环输出 hello world,为了探究容器内部都在做什么,我们使用docker logs 命令来获取容器的日志,如下

57.jpg


可以看到,其内部一直在做while 循环并输出 hello world,Docker 会输出最后几条日志并返回,我们可以使用 -f 参数来监控Docker 的日志,这与 tail -f 命令非常像

58.png


我们在日志的循环输出中加了几个空行,能让你直观的感受到我们正在监控 docker 日志的运行过程,你可以使用 control + c 来退出监控。

我们也可以跟踪日志的某一片段,例如,可以使用 docker logs --tail 10 daemon_dave获取日志的最后10行内容。另外,也可以使用 docker logs --tail 0 -f daemon_dave 命令来追踪某个容器的最新日志而不必读取整个日志文件


59.jpg


追踪最新日志:

60.jpg


其实可以看到,日志一直在循环输出,没有显示之前的日志信息。

为了让调试更加简单,我们可以使用 -t 来为每条日志加上时间戳,如下

61.jpg


            </div>
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
物联网 开发者
Wifi-nodeMCU-esp8266 固件库下载与调试工具介绍 | 学习笔记
快速学习 Wifi-nodeMCU-esp8266 固件库下载与调试工具介绍
Wifi-nodeMCU-esp8266 固件库下载与调试工具介绍 | 学习笔记
|
应用服务中间件 nginx
流媒体技术学习笔记之(十四)FFmpeg进行笔记本摄像头+麦克风实现流媒体直播服务
FFmpeg推送视频流,Nginx RTMP模块转发,VLC播放器播放,实现整个RTMP直播 查看本机电脑的设备 ffmpeg -list_devices true -f dshow -i dummy 红色标记表示视频设备和麦克风设备 看到乱码了吧!来这里查看哦   FFmpeg编码推送到R...
3915 0
|
移动开发 HTML5 容器
HTML5 容器入门解析:支付宝 Hybrid 方案原理与实战
mPaaS 容器是支付宝原生 Hybrid 方案,经历了严苛的业务考验,可以和支付宝使用同一套框架层代码,让你拥有解决系统级 WebView Crash 的能力,并具备良好的、弹性的扩展能力,结合具体业务需求定制 JSAPI。
6933 1
|
传感器 机器人
|
Web App开发 安全 网络安全
看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini
看完这篇 教你玩转渗透测试靶机Vulnhub——HarryPotter:Nagini
518 0
|
XML 缓存 NoSQL
手把手实现第三方社交登录方式微信登录
手把手实现第三方社交登录方式微信登录
375 0
|
前端开发 JavaScript API
数据展示前端框架Highcharts介绍
数据展示前端框架Highcharts介绍
454 0
|
存储 Java Shell
【Java项目】拉取公司GitLab项目的教程
【Java项目】拉取公司GitLab项目的教程
676 0
|
设计模式 弹性计算 Java
云服务器部署后台过程记录
现做毕业设计,使用前后端分离的设计模式,后端完成后为方便后续调用以及维护,将后端打包后部署到ECS云服务器上,在此介绍部署流程及一些问题。
云服务器部署后台过程记录
|
Java 数据库连接 Maven
Springboot 系列(十五)如何编写自己的 Springboot starter
Springboot 系列(十五)如何编写自己的 Springboot starter
803 0
Springboot 系列(十五)如何编写自己的 Springboot starter