zoukankan      html  css  js  c++  java
  • 两种进入容器的方法

    我们经常需要进到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器:attach 和 exec。

    docker attach

    通过 docker attach 可以 attach 到容器启动命令的终端,例如:

    这次我们通过 “长ID” attach 到了容器的启动命令终端,之后看到的是echo 每隔一秒打印的信息。

    注:可通过 Ctrl+p 然后 Ctrl+q 组合键退出 attach 终端。

    docker exec

    通过 docker exec 进入相同的容器:

    说明如下:

    ① -it 以交互模式打开 pseudo-TTY,执行 bash,其结果就是打开了一个 bash 终端。

    ② 进入到容器中,容器的 hostname 就是其 “短ID”。

    ③ 可以像在普通 Linux 中一样执行命令。ps -elf 显示了容器启动进程while 以及当前的 bash 进程。

    ④ 执行 exit 退出容器,回到 docker host。

    docker exec -it <container> bash|sh 是执行 exec 最常用的方式。

    attach VS exec

    attach 与 exec 主要区别如下:

    1. attach 直接进入容器 启动命令 的终端,不会启动新的进程。

    2. exec 则是在容器中打开新的终端,并且可以启动新的进程。

    3. 如果想直接在终端中查看启动命令的输出,用 attach;其他情况使用 exec。

    当然,如果只是为了查看启动命令的输出,可以使用 docker logs 命令:

    115.png

    -f 的作用与 tail -f 类似,能够持续打印输出。

    下一节聊聊运行容器的最佳实践。

    二维码+指纹.png

  • 相关阅读:
    windows server2016设置关闭自动更新
    ubuntu20/mac 安装php8.0
    Linux / Python 打印花式字符串
    Linux 增加 DNS 域名解析服务器
    挺不错的一个开源国产上线部署平台:walle
    Python 定时任务实现只执行一次的方法
    JavaScript 正则入门
    grid布局详解
    flex布局详解
    CSS3 入门指南(二)
  • 原文地址:https://www.cnblogs.com/CloudMan6/p/6928772.html
Copyright © 2011-2022 走看看