3. docker容器内信息获取、命令的执行、容器的导入和导出
一、依附容器
依附操作attach通常用在由docker start或者docker restart启动的交互型容器中。由于docker start启动的交互型容器并没有具体终端可以依附,而容器本身是可以接收用户交互的,这时就需要通过attach命令来将终端依附到容器上。
docker start docker_run:先启动docker_run容器。 启动后docker ps可以看到启动的容器,这是我们发现客户端显示的宿主机([root@git ~]#)。 执行docker attach docker_run,终端就已经依附到了容器上,ls显示的就是容器中的目录内容。
- 注意:后台型容器是无法依附终端的,因为它本身就不接受用户交互输入。
二、查看容器日志
首先创建一个不断输出一些内容的后台型容器,我命名为docker_logs,是一个包含循环输出的自然数容器: docker run -d --name docker_logs centos /bin/bash -c "for((i=0;1;i++));do echo $i;sleep 1;done;
docker logs -f docker_logs:此命令默认情况下是输出从容器启动到执行命令时的所有输出,但是之后的输出就不显示了,-f命令会实时显示日志。
docker logs -f --tail=5 docker_logs:–tail是控制logs输出的行数为最后5行。
三、查看容器进程
docker top:可以查看容器中正在运行的进程。
四、查看容器信息
docker inspect [NAME]/[CONTAINER ID]:用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等:
-f
或--format
格式化标志,可以查看指定部分的信息。docker inspect --format='{{.State.Running}}' [NAME]/[CONTAINER ID]
:查看容器的运行状态。docker inspect --format='{{.NetworkSettings.IPAddress}} [NAME]/[CONTAINER ID]'
:查看容器的IP地址。- 同时查看多个信息:
docker inspect --format '{{.Name}} {{.State.Running}}' [NAME]/[CONTAINER ID]
:查看容器名和运行状态。
五、容器内执行命令
在容器启动的时候,通常需要指定其需要执行的程序,然而有时候我们需要在容器运行之后中途启动另一个程序。从Docker1.3开始,我们可以用docker exec命令在容器中运行新的任务,它可以创建两种任务:后台型和交互型。
docker exec -d docker_logs touch /etc/exec_new_file:-d:后台型,并在容器中创建一个文件。
六、容器的导入和导出
用户不仅可以把容器提交到公共服务器上,还可以将容器导出到本地文件系统中。
同样,我们也可以将导出的容器重新导入到Docker运行环境中。导入:`import`,导出:`export`。
docker export docker_logs > docker_logs_export.tar:把容器的文件系统以tar包的格式导出到标准输出。
cat docker_logs_export.tar | docker import - [res]:[tag]:把打包的容器导入为一个镜像,res代表镜像。tag代表标记。
docker import url res:tag:还可以通过一个url链接来导入网络上的容器。
3. docker容器内信息获取、命令的执行、容器的导入和导出的更多相关文章
- docker rmi 导致后面的命令不执行问题 Dockerfile设置时区问题
docker rmi 导致后面的命令不执行问题 把ca=`docker rmi sendemail-service` echo $ca改成docker rmi sendemail-service -f ...
- 如何规避容器内做Java堆dump导致容器崩溃的问题
写在前边 最近公司生产环境的容器云上出了个性能问题,为了做性能分析,使用 JDK 自带的 jmap 收集堆dump,出现了内存溢出导致了容器崩溃. 本篇文章将带你探究,如何规避容器内做堆 dump 导 ...
- 关于Linux下使用expdp和impdp命令对Oracle数据库进行导入和导出操作
说明:本次导入和导出采用expdp和impdp命令进行操作,这2个命令均需要在服务器端进行操作 http://www.cnblogs.com/huacw/p/3888807.html 一. 从O ...
- Android 自动化测试—robotium(六) 通过命令行执行Robotium自动化测试用例及导出报告
1.运行测试工程下的所有用例 adb shell am instrument -w com.application.test/android.test.InstrumentationTestRunne ...
- 进入docker 容器内命令
docker exec :在运行的容器中执行命令 语法 docker exec [OPTIONS] CONTAINER COMMAND [ARG...] OPTIONS说明: -d :分离模式: 在后 ...
- Docker 最常用的镜像命令和容器命令
本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份.熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像 ...
- Docker最常用的镜像命令和容器命令
一.镜像相关命令 官方文档:https://docs.docker.com/referenc 1.1查看镜像 [root@localhost ~]# docker images REPOSITORY ...
- OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "ip": executable file not found in $PATH: unknown (Docker容器没有ip addr命令:exec ip addr 报错)
一.报错 1.报错信息1: OCI runtime exec failed: exec failed: container_linux.go:380: starting container proce ...
- 【docker】 docker容器内部安装vi命令
有时会需要在docker容器内使用vi命令,但是新启动的docker容器内并没有vi命令,那就需要自己安装一个 1.使用命令 apt-get update 2.进行安装 apt-get install ...
随机推荐
- Double Check Locking 双检查锁机制
方法保证了多线程并发下的线程安全性.这里在声明变量时使用了volatile关键字来保证其线程间的可见性:在同步代码块中使用二次检查,以保证其不被重复实例化.集合其二者,这种实现方式既保证了其高效性,也 ...
- bmdiff snappy lzw gzip
https://github.com/google/snappy Introduction [速度第一,压缩比适宜] [favors speed over compression ratio] Sna ...
- iOS 流布局 UICollectionView使用(UICollectionVIew的代理方法)
UICollectionViewDataSource协议 这个协议主要用于collectionView相关数据的处理,包含方法如下: 设置分区数(这个是可选实现的) - (NSInteger)numb ...
- 对A轮的追逐变得越加狂热,当前距离互联网泡沫到底有多近?
编者注:本文来自TOMASZ TUNGUZ,中文版由天地会珠海分舵进行编译. 依据NVCA披露的最新数据,在2015年第二季度.VC总共进行了167亿美元的投资,大约是2000年互联网泡沫时候同期的6 ...
- 一起来学linux:shell script(二)关于脚本
(一)首先来看shell脚本的执行方式,shell脚本的后缀名都是sh文件. 1 sh test.sh 2 source test.sh 这两种方式有什么区别呢.test.sh 里的脚本很简单, 从键 ...
- RANDOM 的用法
random 用法 1.利用RANDOM取随机数 shell有一个环境变量RANDOM,范围是0--32767 如果我们想要产生0-25范围内的数:$(($RANDOM%26),在$(()) 是可以省 ...
- 使用 Nginx 提升网站访问速度(转)
Nginx 简介 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. Nginx 是由 Ig ...
- IOS 工程所支持的版本 设置
如何设置 Base SDK 和 iOS Deployment Target ? http://leopard168.blog.163.com/blog/static/16847184420116159 ...
- 多线程(一) NSThread
OS中多线程的实现方案: 技术 语言 线程生命周期 使用频率 pthread C 程序员自行管理 几乎不用 NSthread OC 程序员自行管理 偶尔使用 GCD C 自动管理 经常使用 NSOpe ...
- idea创建maven-archetype-webapp项目无java目录
使用idea创建一个maven-archetype-webapp项目 查看项目的目录结构,在main的目录下没有java目录 在main目录下创建java目录 使用快捷键 ctrl+alt+shift ...