Docker——run指令中-it与-d的关系

  1. 建立相关的测试容器

    #1.只有-d [root@iZwz908j8pbqd86doyrez5Z test]# docker run -d -p 8081:8080 tomcat:9.0 #2.只有-it [root@iZwz908j8pbqd86doyrez5Z test]# docker run -it -p 8082:8080 tomcat:9.0 #输出了tomcat启动相关的指令台指令,但无法交互(这里用ctrl+c退出) #3.有-it...bash [root@iZwz908j8pbqd86doyrez5Z test]# docker run -it -p 8083:8080 tomcat:9.0 /bin/bash #直接进入了指令台(这里用ctrl+p+q退出) #4.有-it也有-d [root@iZwz908j8pbqd86doyrez5Z test]# docker run -d -it -p 8084:8080 tomcat:9.0 /bin/bash
  2. 查看状态

    [root@iZwz908j8pbqd86doyrez5Z test]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES be6f31b74cc9 tomcat:9.0 "/bin/bash" 4 minutes ago Up 4 minutes 0.0.0.0:8084->8080/tcp wonderful_sammet 03472df49c1f tomcat:9.0 "/bin/bash" 5 minutes ago Up 5 minutes 0.0.0.0:8083->8080/tcp naughty_rhodes 74b8957aec16 tomcat:9.0 "catalina.sh run" 5 minutes ago Up 5 minutes 0.0.0.0:8081->8080/tcp trusting_lichterman

    注:可以看到第2个测试(8082端口)已经停止了,因为没有用-d开启后台,指令台退出了,程序也就关了;第三种方式虽然没有用-d,但我在退出时是用ctrl+p+q,而不是exit直接退出,随意进程也还没有停止

  3. 尝试使用attach命令(进入已经存在的一个终端)

    #1 [root@iZwz908j8pbqd86doyrez5Z ~]# docker attach 74b8957aec16 #进入空白,因为本身就没有打开过终端命令行 #3 [root@iZwz908j8pbqd86doyrez5Z ~]# docker attach 03472df49c1f #成功进入命令行 #4 [root@iZwz908j8pbqd86doyrez5Z ~]# docker attach be6f31b74cc9 #成功进入命令行

__EOF__

本文作者Arno
本文链接https://www.cnblogs.com/Arno-vc/p/13673746.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Arno_vc  阅读(2885)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示