docker 後台容器

2021-08-28 03:56:38 字數 1884 閱讀 4401

利用docker,更多的是執行服務,而不是執行一次性命令

經常需要docker自己在後台執行服務

即使我們退出,也需要容器繼續活躍

當啟動服務之後 ctrl+p ctrl+q 我們就能夠退出容器

相比較於 exit ,docker ps能夠檢視到之前所啟動的容器

這個啟動的容器沒有因為我們的退出而間斷服務

手動創造出了容器後台執行的場景,但是不夠規範

# 指定容器為後台執行

docker -d run images command args

# 加上 -d 引數,表示該容器後台執行服務

# 監聽容器日誌

docker logs contain_name

# 上面命令一次性列印全部的容器日誌,我們需要實時監聽的話

docker logs -f contain_name

# -f:follow,表示實時監聽日誌

# 模擬與linux中tail的功能

# 如果列印不夠規範,可以加上時間戳,有利於判別日誌列印時間

docker logs -ft contain_name

# 每次列印都是全量,如果只想監聽最後幾行

docker log --tail 10 contain_name

# tail後面的數字表示最後的幾行,如果不寫,仍然全量列印

# 實現linux中tail效果

docker logs -f --tail 0 contail_name

# --tail後面數字為0,表示列印新寫入的一行

# -f 實現實時監聽

# 有需要可以加上-t

# 一般我們啟動容器,或許會進行容器一次,也可能不會進去

docker attach contain_name

# 執行這個命令,我們就能夠進入到指定的容器當中

# 當然,外掛程式乙個程序,通過這個程序進行操作也是可以的,接下來有說到

# 說起來,前面梳理過的映象和容器的關係,就好比系統映象和電腦(伺服器)

# 所以所謂容器和我們使用的linux也沒啥區別(角色而言),只是有docker管理

# 所以一些命令加上docker,然後指定名稱,就和linux差不多了

# 檢視容器程序

docker top contain_name

# 前面說到了進入後台容器還有個辦法就是外掛程式程序

docker exec -i -t ubuntu bash

# 外掛程式乙個bash,用互動式開啟,然後效果就和進入容器內部差不多了

# 不過外掛程式程序不僅是bash而已,還可以支援更多種的程序

# 前面已經說過了如何停止乙個容器,現在說一說兩者的區別

# stop由客戶端把命令發向服務端,服務端再發向容器,讓容器自己停止服務

# 相當於皇上下令,**轉達,"你自裁吧"

docker stop contain_name

# kill就有點不人道了,客戶端下令以後,不管當事人意願,服務端就直接把人乾掉了

docker kill contain_name

# 說這麼多,其實把客戶端和服務端的通訊拋開的話,其實也就是下面這樣

# stop 正常關機

# kill 拔電源

# 命令是說了一些,但是好多引數都沒有詳細的說,具體引數說明也可以參看man

man docker-exec

man docker-log

man docker-stop

# 把docker命令用-連線起來就可以查了

docker進入後台執行的容器

我們執行docker容器的時候,使用了 d引數,把容器在後台執行後。這個時候,我們使用docker ps命令,我們就可以知道哪些程式在後台執行。我們要怎麼進入到docker容器呢?1 使用docker attach命令 我們使用 docker attach db3 或者 docker attach ...

docker 後台執行和進入後台執行的容器

先建立並進入乙個新的被命名為newos的新容器 docker run it name newos docker.io centos 建立並指定埠號對映 docker run d p 8002 80 name my ng nginx centos bin bash 啟動的時候用 bin bash可能到...

docker篇 進入容器的後台的方法

會用到 docker attach 和 nsenter 工具 docker attach 是docker自帶的命令 docker run idt bin bash docker ps 可以看到該容器在後台執行中 那我們怎麼樣進入後台呢 docker attach 映象id 就可以進入了 有乙個弊端 ...