docker attach 和 docker exec


docker attach

docker attach -- Attach to a running container.

常用选项:

--sig-proxy=true:Proxy all received signals to the process. 当指定--sig-proxy=false时,ctrl+c和ctrl+d 不会传递信号给docker进程而关闭容器。

用法:

docker attach [OPTIONS] CONTAINER

docker attach可以attach到一个已经在运行的容器的stdin,然后进行命令执行的动作。

但是需要注意的是,如果直接从这个stdin中exit(ctrl+d),会导致容器的停止。非常不建议使用此命令操作容器。

如果不小心退出了,再次启动容器,进入容器启动服务即可。

正确的退出姿势 --> 组合键:Ctrl+P+Q

另外,docker attach 有类似 screen 可以共享屏幕的作用。同时attach到同一个container可以看到同步操作。


docker exec

docker exec -- Run a command in a running container.

用法:

docker exec [OPTIONS] CONTAINER COMMAND

常用选项:

-d, --detach=false:Detached mode: run command in the background. 分离模式,在后台执行COMMAND。
-i, --interactive=false:Keep STDIN open even if not attached. 保持标准输出。如果不加该选项,执行命令会没有输出。
-t, --tty=false:Allocate a pseudo-TTY. 分配一个虚拟终端。

同时使用 -it 选项时,会打开一个跟我们平时使用的TTY一样的终端。也不会像attach方式因为退出终端,导致整个容器退出。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM