Docker系列学习(四)——容器日志、容器元数据、容器中进程查看,进入正在运行的容器,拷贝容器内部文件
前两篇文章(Docker系列学习(二),Docker系列学习(三))主要介绍了docker的最基本的容器和镜像的命令,完成了上面章节的学习就对docker有了一个最最基本的了解,下面这一章节将继续介绍docker中关于容器的其他常用命令。
1、后台启动容器命令
docker run -d ubuntu:1.0
8fa340a12b6cc48335c24d7881ce1e2a4ee2d5b41c05280373e79fe340ff9a33
通过对run命令添加参数-d可以后台启动容器。
不过要注意由于这个ubuntu:1.0没有前台进程,因此docker会以为没有程序,docker会直接结束了,因此我们使用docker ps看不到这个容器,不过我们使用docker ps -a就能看到已经被停止的容器。
2、查看容器日志命令
docker logs [可选参数] 容器ID
常用参数 | |
-f | 跟踪日志输出 |
-t | 显示时间戳 |
--tail n | 显示日志尾部n条数据 |
我这里显示一下某个容器的日志信息:
这里显示在这个容器中操作了两次退出
3、查看容器内部的进程信息
docker top [容器id]
通过这个命令就可以查看到正在运行中的容器中所有的进程。
我这里启动了一个ubuntu的容器,并查看他的进程
4、查看容器的元数据
docker inspect [OPTIONS] 容器id
接下来我们就以启动的ubuntu容器作为示例,看一下会显示出那些信息。
可以看到内容有很多,这些是以json格式来输出的,我们可以用json在线格式化工具就很好看了 。
比如容器的全称ID,创建时间(Created),当前容器状态(State),由那个镜像创建的(Image),其中Config这个参数打开,里面包含的是这个ubuntu系统内部参数设置(比如环境变量等等)。
5、进入正在运行的容器
方式一:
docker exec -it 容器id /bin/bash
上述代码是进入指定正在运行的容器的代码。
例如,我们进入到之前开启的那个容器中去。
方式二:
docker attach 容器id
这样也是可以进入容器中的,不过要注意这两种方式进入有些许不同。
第一种方式进入容器会在容器系统的内部开设另一个新的终端,第二种方式是进入到容器当前正在执行的终端。
6、拷贝容器内部的文件到外部(主机)
docker cp 容器id:容器中文件的路径 拷贝到主机中的路径
我在刚才开启的ubuntu系统的根目录下创建了一个test.txt,我可以使用下面的命令将这个文件拷贝到主机的桌面上。(注意这个命令需要在主机的命令行中执行,而不是在容器中执行)
docker cp d3d2c02d1358:/test.txt /home/g4/桌面
原文地址:https://www.cnblogs.com/CircleWang/p/15206911.html
- 【Windows编程】系列第六篇:创建Toolbar与Statusbar
- arguments,想说爱你不容易
- 【android开发】Android binder学习一:主要概念
- 高考啦! JavaScript高考全国卷
- 2017 JavaScript高考全国卷 参考答案与解析
- 用贝叶斯判别分析方法预测股票涨跌
- 开发 | 在 Mac OS X 装不上 TensorFlow?看了这篇就会装
- 【答疑解惑】Java中的默认构造器和equals方法
- 原生JS | 当兔子遇到鸡
- 【Android基础】Activity的生命周期函数
- 七种常用回归技术,如何正确选择回归模型?
- 爬取拉勾网大数据相关岗位薪资信息存到excel,并作数据分析
- 【Windows编程】系列第五篇:GDI图形绘制
- 抓取链家官网北京房产信息并用python进行数据挖掘
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法