• attached和detached模式


    attached和detached模式

    --Docker的两种运行模式

    最简单的对比理解就是:attached模式在前台运行,detached模式在后台运行。

    端口映射
    # 开启映射之前要知道Docker对应的容器端口是多少,比如Nginx镜像的端口是80,在启动容器的时候用-p<port:port>的形式启动映射。
    docker container run -p 80:80 nginx
    # 第一个端口是映射到服务器本机的端口,第二个端口是Docker容器使用的端口。
    # 例:把Docker的80端口映射到服务器的90端口
    docker container run -p 90:80 nginx
    

    attached模式

    访问127.0.0.1网址的时候,每访问一次,命令窗口就会打印一次log日志。也就是说Docker容器的日志会实时的展现到窗口并且占用此端口,这种模式叫做attached模式。
    如果是在Linux服务器上,这时候按Ctrl+C,就会停止掉Docker服务,很容易误操作。
    所以需要一个更好的,更稳定的模式。也就是detached模式。attached模式更适用于容器和程序的调试阶段。
    

    detached模式

    # detached模式的开启方法,就是加一个参数-d或者--detach。
    docker run -d -p 80:80 nginx
    # 独立模式是在后台运行的,启动后只现实容器编号,并且可以输入任何命令。就算关掉窗口依然继续运行,停止和删除容器都需要使用shell脚本命令,减少了很多的误操作。
    

    detached模式下查看logs

    # 首先我们用detached模式开启一个nginx服务,映射到80端口
    docker container run -d -p 80:80 nginx
    #  查看后台日志
    docker container logs <ID or Image name>
    # 输入完命令打开浏览器,在地址栏输入127.0.0.1,在日志窗口就可以跟踪到最新日志
    # 但此时的日志窗口只打印一次,想动态的跟踪日志,可以在命令上加一个-f
    docker container logs -f <ID or Image name>
    # 关闭日志跟踪模式,直接快捷键Ctrl+C 就可以结束
    

    detached模式转换attached模式

    # 现在是detached模式,转换成attached模式
    docker attach <ID or Image Name>
    
  • 相关阅读:
    对数损失函数(Logarithmic Loss Function)的原理和 Python 实现
    ffmpeg 简介及使用
    数据预处理(Python scikit-learn)
    检查 NaN 数据值 (C/C++/Python 实现)
    数据正规化 (data normalization) 的原理及实现 (Python sklearn)
    matplotlib.pyplot 导引
    在 O(1) 时间删除链表结点(C 和 Python 实现)
    安装 Python IDLE (Linux)
    打印 1 到最大的 n 位数(C++ 和 Python 实现)
    七种RAID技术
  • 原文地址:https://www.cnblogs.com/tuzaizi/p/16052475.html
Copyright © 2020-2023  润新知