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>


免責聲明!

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



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