Docker入门(二)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 上一节中,我们了解到了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实时生图绘板
目录
相关文章
|
消息中间件 Java 物联网
一文搞懂MQTT,如何在SpringBoot中使用MQTT实现消息的订阅和发布
之前介绍了RabbitMQ以及如何在SpringBoot项目中整合使用RabbitMQ,看过的朋友都说写的比较详细,希望再总结一下目前比较流行的MQTT。所以接下来,就来介绍什么MQTT?它在IoT中有着怎样的作用?如何在项目中使用MQTT?
19673 63
一文搞懂MQTT,如何在SpringBoot中使用MQTT实现消息的订阅和发布
|
消息中间件 Cloud Native 安全
《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(1)
阿里云瑶池数据库云原生化和一体化产品能力升级,多款产品更新迭代
292 1
《阿里云产品四月刊》—得物 ZooKeeper SLA 也可以 99.99%丨最佳实践(1)
|
安全 网络安全 Windows
CVE-2017-0143永恒之蓝复现
CVE-2017-0143永恒之蓝复现
395 0
|
SQL Java 数据库连接
|
缓存 监控 Linux
Linux 软件安装与卸载
在Linux上,学习安装和卸载软件是基础。以网络监控工具iftop为例,安装涉及下载源码(`wget`),解压(`tar -zxf`),配置(`./configure`),安装依赖(如`libpcap-devel`),再执行`make`和`make install`。另外,可以通过RPM或YUM(在CentOS中可能是DNF)管理软件,如`rpm -ivh`安装,`rpm -e`卸载,`yum install`或`dnf install`同样用于安装。了解这些命令能提升Linux系统的管理效率。
265 0
|
Java Maven
IDEA 每次新建工程都要重新配置 Maven 解决方案
IDEA 每次新建工程都要重新配置 Maven 解决方案
653 0
IDEA 每次新建工程都要重新配置 Maven 解决方案
|
缓存 Linux
Centos7 更换yum源
备份原来的源 下载阿里源 更改阿里yum源为默认源
8731 1
|
Shell
【P4】 查看库文件两个历史版本的区别
【P4】 查看库文件两个历史版本的区别
950 0
|
存储 弹性计算 固态存储
阿里云服务器价格表新鲜出炉来看看吧!
阿里云服务器一年多少钱?阿里云服务器租用费用?阿里云服务器CPU内存怎么收费?阿里云服务器公网带宽收费标准价格表
1715 0
阿里云服务器价格表新鲜出炉来看看吧!
|
前端开发 数据库
转发和重定向的区别及使用方法(全)
目录前言1. 定义1.1 转发1.2 重定向2. springmvc实战代码3. 总结异同 前言 页面跳转的主要两种实现方式: 转发 重定向 1. 定义 1.1 转发 在客户端中发送请求到服务端,在服务端中有所匹配的servlet即可,之后servlet执行其操作,之后调用getRequestDispacther()方法,把请求转发给指定的前端页面,整个流程都是在服务端中执行(同一个请求)。在转发过程中,可以把数据保存到request域对象中(因为转发使用同一个request域) request.get
605 0