Docker進(jìn)入容器運(yùn)行命令及查看docker容器日志方式
在 Docker 中,進(jìn)入容器運(yùn)行命令以及查看容器和鏡像的運(yùn)行日志是非常常見(jiàn)的操作。
以下是詳細(xì)的步驟和命令:
一、進(jìn)入容器運(yùn)行命令
1. 使用docker exec進(jìn)入容器并執(zhí)行命令
docker exec 允許在正在運(yùn)行的容器中啟動(dòng)一個(gè)新的進(jìn)程,如一個(gè) shell 終端。
常見(jiàn)用法:
docker exec -it <container_name_or_id> /bin/bash
或
docker exec -it <container_name_or_id> /bin/sh
-i:表示交互模式(保持標(biāo)準(zhǔn)輸入打開(kāi))。-t:為該會(huì)話分配一個(gè)偽終端。<container_name_or_id>:容器的名稱或 ID,可以使用docker ps查看。/bin/bash或/bin/sh:要在容器中啟動(dòng)的 shell 類型。一般來(lái)說(shuō),如果是較輕量的容器(如 Alpine),使用/bin/sh,而較常見(jiàn)的 Linux 容器使用/bin/bash。
示例:
進(jìn)入一個(gè)名為 my_container 的容器,并啟動(dòng)一個(gè) Bash 會(huì)話:
docker exec -it my_container /bin/bash
2. 使用docker attach進(jìn)入容器
docker attach 直接附加到容器的主進(jìn)程??梢钥吹饺萜鞯妮敵霾⑴c它交互。不過(guò),這種方式通常用于調(diào)試或與容器的主進(jìn)程交互。
用法:
docker attach <container_name_or_id>
注意:使用 docker attach 時(shí)要小心,因?yàn)橥顺觯ɡ缡褂?CTRL+C)可能會(huì)終止容器的主進(jìn)程。
3. 使用docker run直接啟動(dòng)容器并執(zhí)行命令
如果還沒(méi)有啟動(dòng)容器,可以使用 docker run 直接啟動(dòng)一個(gè)容器,并同時(shí)執(zhí)行命令。
示例:
啟動(dòng)一個(gè)容器并進(jìn)入 bash shell:
docker run -it <image_name> /bin/bash
查看正在運(yùn)行的容器
在進(jìn)入容器之前,可以使用以下命令查看當(dāng)前正在運(yùn)行的容器:
docker ps
常用場(chǎng)景示例
- 進(jìn)入容器并查看日志:
docker exec -it my_container tail -f /var/log/app.log
- 進(jìn)入容器并查看環(huán)境變量:
docker exec -it my_container env
通過(guò) docker exec,可以直接在容器內(nèi)部執(zhí)行各種命令。
二、查看容器和鏡像的日志
1. 使用docker logs查看容器日志
docker logs 命令用于查看某個(gè)容器的標(biāo)準(zhǔn)輸出日志??梢酝ㄟ^(guò) docker logs 看到容器運(yùn)行的所有輸出,包括應(yīng)用程序的日志。
基本用法
docker logs <container_name_or_id>
常用選項(xiàng)
- 跟隨日志輸出(類似 tail -f):
docker logs -f <container_name_or_id>
該命令會(huì)實(shí)時(shí)顯示新輸出的日志內(nèi)容,類似于 Linux 中的 tail -f。
- 顯示最近的 n 行日志:
docker logs --tail 100 <container_name_or_id>
只顯示最近的 100 行日志。
- 查看帶有時(shí)間戳的日志:
docker logs -t <container_name_or_id>
- 查看指定時(shí)間段的日志(例如最近5分鐘):
docker logs --since 5m <container_name_or_id>
顯示最近5分鐘內(nèi)的日志。
2. 使用docker inspect查看容器和鏡像詳細(xì)信息
docker inspect 可以查看容器或鏡像的詳細(xì)配置信息。
查看容器信息
docker inspect <container_name_or_id>
查看鏡像信息
docker inspect <image_name_or_id>
3. 使用docker ps查看運(yùn)行中的容器
如果不確定容器的名稱或 ID,可以使用以下命令列出當(dāng)前所有運(yùn)行的容器:
docker ps
如果想查看所有容器(包括已經(jīng)停止的容器),可以使用:
docker ps -a
三、鏡像日志和構(gòu)建日志
鏡像本身不會(huì)生成日志,但在使用 docker build 構(gòu)建鏡像時(shí),會(huì)輸出構(gòu)建日志。
可以通過(guò)查看構(gòu)建過(guò)程中的輸出來(lái)了解構(gòu)建鏡像時(shí)的步驟和錯(cuò)誤信息。
構(gòu)建鏡像時(shí)查看日志
docker build -t <image_name> <path_to_dockerfile>
構(gòu)建過(guò)程中會(huì)輸出每個(gè)步驟的日志。如果想調(diào)試構(gòu)建過(guò)程中的問(wèn)題,可以通過(guò)查看這些輸出日志來(lái)分析錯(cuò)誤。
四、綜合示例
- 進(jìn)入正在運(yùn)行的容器并查看日志文件:
docker exec -it <container_name_or_id> tail -f /var/log/app.log
- 查看容器實(shí)時(shí)日志輸出:
docker logs -f <container_name_or_id>
- 查看最近 50 行容器日志:
docker logs --tail 50 <container_name_or_id>
通過(guò)這些命令,可以輕松進(jìn)入 Docker 容器運(yùn)行命令并查看容器的運(yùn)行日志,調(diào)試和監(jiān)控容器中的應(yīng)用。
五、總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker實(shí)現(xiàn)部署fastDFS服務(wù)過(guò)程
文章介紹了如何部署FastDFS、修改存儲(chǔ)容器的訪問(wèn)端口以及拓展tracker.conf文件中的http.server_port配置,主要目的是監(jiān)控和管理Tracker服務(wù)器,但通常不需要特別關(guān)注,重點(diǎn)是Storage的Nginx端口配置,因?yàn)檫@是用戶訪問(wèn)文件的入口2026-01-01
使用Vscode結(jié)合docker進(jìn)行開(kāi)發(fā)的詳細(xì)過(guò)程
這篇文章主要介紹了如何使用Vscode結(jié)合docker進(jìn)行開(kāi)發(fā),在本文中,我將提供一個(gè)在 Node 環(huán)境中運(yùn)行的 JavaScript 應(yīng)用程序示例。閱讀在容器內(nèi)開(kāi)發(fā)以獲取所有技術(shù)堆棧的詳細(xì)文檔,需要的朋友可以參考下2021-07-07
關(guān)于immich?docker-compose.yml配置文件詳解
Immich是一個(gè)自托管的照片和視頻備份解決方案,允許用戶在私有服務(wù)器上存儲(chǔ)、管理和分享他們的媒體文件,項(xiàng)目提供了自托管、照片和視頻備份、易于訪問(wèn)、數(shù)據(jù)控制、隱私保護(hù)等功能,通過(guò)Docker容器化部署,用戶可以方便地安裝和維護(hù)Immich應(yīng)用2025-03-03
docker?pull和docker-compose的用法及區(qū)別總結(jié)
Docker是一種開(kāi)源的應(yīng)用容器引擎,能夠?qū)?yīng)用和環(huán)境打包在輕量、可移植的容器中,實(shí)現(xiàn)快速部署和一致運(yùn)行,這篇文章主要介紹了docker?pull和docker-compose用法及區(qū)別的相關(guān)資料,需要的朋友可以參考下2025-11-11
Docker之修改/etc/default/docker 里的DOCKER_OPTS參數(shù)不生效問(wèn)題
這篇文章主要介紹了Docker之修改/etc/default/docker 里的DOCKER_OPTS參數(shù)不生效問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
解決Docker daemon啟動(dòng)問(wèn)題
這篇文章主要介紹了解決Docker daemon啟動(dòng)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08

