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

咱们常常须要进到容器里去作一些工做,好比查看日志、调试、启动其余进程等。有两种方法进入容器:attach 和 exec。docker

docker attachbash

经过 docker attach 能够 attach 到容器启动命令的终端,例如:调试

此次咱们经过 “长ID” attach 到了容器的启动命令终端,以后看到的是echo 每隔一秒打印的信息。日志

注:可经过 Ctrl+p 而后 Ctrl+q 组合键退出 attach 终端。code

docker exec进程

经过 docker exec 进入相同的容器:it

说明以下:容器

① -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

相关文章
相关标签/搜索