zoukankan      html  css  js  c++  java
  • 测试开发CICD——Docker——docker attach ——连接到正在运行中的容器

    docker attach :连接到正在运行中的容器。

    语法

    docker attach [OPTIONS] CONTAINER

    要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕(与screen命令的attach类似)。

    官方文档中说attach后可以通过CTRL-C来detach,但实际上经过我的测试,如果container当前在运行bash,CTRL-C自然是当前行的输入,没有退出;如果container当前正在前台运行进程,如输出nginx的access.log日志,CTRL-C不仅会导致退出容器,而且还stop了。这不是我们想要的,detach的意思按理应该是脱离容器终端,但容器依然运行。好在attach是可以带上--sig-proxy=false来确保CTRL-D或CTRL-C不会关闭容器。

    实例

    容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。

    runoob@runoob:~$ docker attach --sig-proxy=false mynginx
    192.168.239.1 - - [10/Jul/2016:16:54:26 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36" "-"

    作用

    进入容器正在执行的终端

    语法格式

    docker attach [OPTIONS] CONTAINER

    options 说明

    option 说明
    --detach-keys 覆盖用于分离容器的键序列
    --no-stdin 不要附加标准输入
    --sig-proxy 所有接收到的信号代理到进程

    实际栗子

    docker run -d --name topdemo ubuntu /usr/bin/top -b
    docker attach topdemo

    能看到 topdemo 容器内部正在执行的命令,1s 输出一次

    和 docker exec 的区别

    #进入当前容器后开启一个新的终端,可以在里面操作。(常用)
    docker exec 
    
    # 进入容器正在执行某个命令的终端,不能在里面操作
    docker attach 
  • 相关阅读:
    第十四周学习进度条
    对txt文本中字符的统计
    JAVA项目中的常用的异常处理情况总结
    动手动脑:异常处理
    第一次尝试连接数据库
    Vuejs 实现权限管理
    vue 中的 ... (三个点的用法)
    Vue 中怎么发起请求(二)
    Vue 中怎么发起请求(一)
    Vue添加请求拦截器
  • 原文地址:https://www.cnblogs.com/xiaobaibailongma/p/15143229.html
Copyright © 2011-2022 走看看