• 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
      #成功进入命令行
      
  • 相关阅读:
    LuoGu P1006 传纸条
    LuoGu P1083 借教室
    动态规划-区间dp-Palindrome Removal
    咕果
    直径问题 Diameter Problems
    Contest 161
    ALBert
    Focal Loss
    Contest 159
    Contest 160
  • 原文地址:https://www.cnblogs.com/Arno-vc/p/13673746.html
Copyright © 2020-2023  润新知