023、两种进入容器的方法(2019-01-16 周三)

参考https://www.cnblogs.com/CloudMan6/p/6928772.html

我们经常需要进到容器里面去做一些工作,比如查看日志、调试、启动其他进程等。

有两种进入容器的方法  attach 和 exec

docker attach

使用快捷键 CTRL + P + Q 退出,但是不会结束容器(不加 -it 该快捷键无效)

不要使用 CTRL + C 强行退出,这样会导致容器停止

[email protected]:~# docker run -d -it busybox ping 127.0.0.1

6a5bf51cba2e34da3c464cd90ec4c96d94728dab3500420763f0e197a54e827f

[email protected]:~# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

6a5bf51cba2e        busybox             "ping 127.0.0.1"    6 seconds ago       Up 5 seconds                            epic_kilby

[email protected]:~# docker attach 6a5bf51cba2e34da3c464cd90ec4c96d94728dab3500420763f0e197a54e827f

64 bytes from 127.0.0.1: seq=20 ttl=64 time=0.048 ms

64 bytes from 127.0.0.1: seq=21 ttl=64 time=0.061 ms

64 bytes from 127.0.0.1: seq=22 ttl=64 time=0.059 ms

64 bytes from 127.0.0.1: seq=23 ttl=64 time=0.062 ms

read escape sequence    [ CTRL + P + Q ]

[email protected]:~# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

6a5bf51cba2e        busybox             "ping 127.0.0.1"    4 minutes ago       Up 4 minutes                            epic_kilby

docker exec

-it 会先建一个bash终端,用完之后执行exit退出即可,但不会关闭容器

[email protected]:~# docker exec -it 6a5bf51cba2e sh

/ # w

USER        TTY        IDLE    TIME         HOST

/ # ps -ef | grep ping

1 root      0:00 ping 127.0.0.1

/ # exit

[email protected]:~# docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

6a5bf51cba2e        busybox             "ping 127.0.0.1"    About an hour ago   Up About an hour                        epic_kilby

attach VS exec

1、attach直接进入容器启动命令的终端,不会启动新的终端,所以进入容器后可以直接看到ping的内容

2、exec则是在容器中新开一个终端并且可以启动新的进程

3、查看容器启动命令的输出使用attach,其他情况使用exec

docker logs

docker logs -f ID 有类似tail -f 的效果,持续在屏幕上打印启动命令的结果

[email protected]:~# docker logs 6a5bf51cba2e | head

PING 127.0.0.1 (127.0.0.1): 56 data bytes

64 bytes from 127.0.0.1: seq=0 ttl=64 time=0.067 ms

64 bytes from 127.0.0.1: seq=1 ttl=64 time=0.057 ms

64 bytes from 127.0.0.1: seq=2 ttl=64 time=0.048 ms

64 bytes from 127.0.0.1: seq=3 ttl=64 time=0.055 ms

64 bytes from 127.0.0.1: seq=4 ttl=64 time=0.057 ms

64 bytes from 127.0.0.1: seq=5 ttl=64 time=0.055 ms

64 bytes from 127.0.0.1: seq=6 ttl=64 time=0.054 ms

64 bytes from 127.0.0.1: seq=7 ttl=64 time=0.051 ms

64 bytes from 127.0.0.1: seq=8 ttl=64 time=0.049 ms

end

原文地址:https://www.cnblogs.com/www1707/p/10280085.html

时间: 2024-10-14 20:48:53

023、两种进入容器的方法(2019-01-16 周三)的相关文章

两种进入容器的方法 - 每天5分钟玩转 Docker 容器技术(23)

我们经常需要进到容器里去做一些工作,比如查看日志.调试.启动其他进程等.有两种方法进入容器:attach 和 exec. docker attach 通过 docker attach 可以 attach 到容器启动命令的终端,例如: 这次我们通过 “长ID” attach 到了容器的启动命令终端,之后看到的是echo 每隔一秒打印的信息. 注:可通过 Ctrl+p 然后 Ctrl+q 组合键退出 attach 终端. docker exec 通过 docker exec 进入相同的容器: 说明如

数据归一化和两种常用的归一化方法

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性.原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价.以下是两种常用的归一化方法: 一.min-max标准化(Min-Max Normalization) 也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间.转换函数如下: 其中max为样本数据的最大

找1~100之间素数的两种比较简单的方法

方法一:利用一个布尔类型的值的判断,优点想法更直接易懂 public static void main(String[] args) { for(int i=2;i<=100;i++){ boolean b=true; for(int n=2;n<i;n++){ if(i%n==0){ b=false; break; } } if(b==true){ System.out.print(i+"\t"); } } } 方法二:能被2和这个数本身以外的数整除的都不是素数.理解难但

【转】数据归一化和两种常用的归一化方法

转自http://www.cnblogs.com/chaosimple/p/3227271.html 数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性.原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价.以下是两种常用的归一化方法: 一.min-max标准化(Min-Max Normalization) 也称为离差标准化

[转] 数据归一化和两种常用的归一化方法

原文链接:http://www.cnblogs.com/chaosimple/p/3227271.html 数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性.原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价.以下是两种常用的归一化方法: 一.min-max标准化(Min-Max Normalization) 也称为离差

两种 设置 背景图片方法

两种设置背景图片方法 //    UIView *navigationbarTitleTupian =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 40, 30)]; //    UIImageView *imageTitleTupian =[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"bg.png"]]; // //    [navigationbarTitleTupian

ExtJS学习-------Ext.define的别名和备用名,两种定义静态方法的方法,混入属性和其他属性

(1)Ext.define起别名和备用名 Ext.onReady(function(){ Ext.define('User',{ config:{ name:'张三', age:23 }, //使用别名 alias:'alias_user', //使用备用名 alternateClassName:'alternateClassName_user', constructor:function(config){//构造器 var me=this; me.initConfig(config); } }

Eclipse中SVN的安装步骤(两种)和使用方法

一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigris.org 2.从中解压出features与plugins文件夹,复制到E:/MyEclipse/myPlugin/svn里面,其它的*.xml文件不要. 3.在E:/MyEclipse/MyEclipse X.X/dropins下新建文件svn.link,内容是:path=E://MyEclips

两种解析JSON的方法

对一段json字符串,解析有两种方法 第一种是普通的解析方法:如下 比较有代表性的解析json的方法,嘿嘿 还有一种是利用Gson解析,这种方法解析起来比较方便,不需要像那种普通的方法一样写那么多代码 注:在使用gson的时候类中的属性名称要和json中的属性名称一样 两种解析JSON的方法