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
    #成功進入命令行
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM