上的網(wǎng)站app上海百度公司總部
?
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者打包應(yīng)用以及其依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。主要功能是為開(kāi)發(fā)者提供一個(gè)簡(jiǎn)單、輕量級(jí)且一致的工作環(huán)境,無(wú)論在開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境還是生產(chǎn)環(huán)境中,都能確保應(yīng)用表現(xiàn)一致。它通過(guò)容器化技術(shù),實(shí)現(xiàn)應(yīng)用的快速部署、擴(kuò)展和管理。
Docker 使用客戶端-服務(wù)器架構(gòu),Docker 客戶端與 Docker 守護(hù)進(jìn)程通信,Docker 守護(hù)進(jìn)程負(fù)責(zé)構(gòu)建、運(yùn)行和分發(fā)容器。用戶可以通過(guò)命令行界面與 Docker 交互,執(zhí)行各種操作,如構(gòu)建鏡像、啟動(dòng)容器、管理鏡像和容器等。
Docker 技術(shù)在云計(jì)算、微服務(wù)架構(gòu)和持續(xù)集成/持續(xù)部署(CI/CD)領(lǐng)域中得到了廣泛應(yīng)用。
以下是記錄Docker的基本指令,便于自查,持續(xù)更新,覺(jué)得不錯(cuò)的小伙伴可以收藏,可以點(diǎn)贊,請(qǐng)大家多多支持!
1.Docker啟動(dòng)命令
啟動(dòng) Docker 服務(wù)的命令取決于你使用的操作系統(tǒng),是Linux,windows,還是max,每個(gè)操作系統(tǒng)肯定存在差異。
1.1 在 Linux 上啟動(dòng) Docker
對(duì)于使用 systemd
的 Linux 發(fā)行版,如 Ubuntu、Debian、CentOS、Fedora 等,你可以使用以下命令來(lái)Docker來(lái)操作啟動(dòng)相關(guān)服務(wù)命令。
- 啟動(dòng)docker
systemctl start docker
- 停止docker
systemctl stop docker
- 重啟docker
systemctl restart docker
- 開(kāi)機(jī)啟動(dòng)
systemctl enable docker
- 查看docker運(yùn)行狀態(tài)?
systemctl status docker
1.2 在 macOS 或 Windows 上啟動(dòng) Docker
對(duì)于 Docker Desktop for Mac 和 Docker Desktop for Windows 用戶,Docker 通常通過(guò)圖形用戶界面(GUI)管理。只需啟動(dòng) Docker 應(yīng)用即可,無(wú)需使用命令行。
安裝Docker圖形化工具后:
- 在 macOS 上,你可以通過(guò)在應(yīng)用程序菜單中找到 Docker 并點(diǎn)擊打開(kāi)。
- 在 Windows 上,可以通過(guò)開(kāi)始菜單搜索 Docker 并點(diǎn)擊啟動(dòng),或者在系統(tǒng)托盤(pán)中找到 Docker 圖標(biāo)并雙擊。
注意事項(xiàng)
- 確保你有足夠的權(quán)限來(lái)啟動(dòng) Docker 服務(wù)(可能需要?
sudo
)。 - 在某些配置中,Docker 可能已經(jīng)被設(shè)置為在系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)。
- 如果你在使用 Docker Desktop,確保已經(jīng)安裝了最新版本,并且所有設(shè)置都是正確的。
?2 Docker幫助命令
Docker 提供了多種幫助命令,可以幫助用戶了解如何使用 Docker 及其各種命令。以下是一些常用的 Docker 幫助命令:
- 查看docker的總體幫助文檔
docker help 命令提供了關(guān)于 Docker 命令行界面的基本使用信息。當(dāng)在命令行中輸入 docker help 并執(zhí)行,它會(huì)列出 Docker 程序的主要命令,并提供關(guān)于如何使用這些命令的簡(jiǎn)要說(shuō)明
?
docker --help
- 查看docker命令幫助文檔
要獲取關(guān)于特定 Docker 命令的詳細(xì)信息,你可以在 docker 后面加上該命令名和 --help。例如,要獲取 docker ps 命令的幫助信息,你可以執(zhí)行:
?
docker 具體命令 --helpdocker ps --help
這將輸出 docker ps?
命令的使用格式和可用選項(xiàng)的詳細(xì)說(shuō)明
3.Docker 信息命令
? ? 3.1 命令說(shuō)明
Docker info 命令在 Docker 中用于顯示有關(guān)當(dāng)前 Docker 宿主機(jī)的環(huán)境和配置的信息。這個(gè)命令提供了大量的細(xì)節(jié),包括 Docker 版本、操作系統(tǒng)、內(nèi)核版本、驅(qū)動(dòng)程序、容器、鏡像和存儲(chǔ)卷的數(shù)量,以及更多關(guān)于 Docker 守護(hù)進(jìn)程狀態(tài)的信息。docker info 是一個(gè)非常有用的命令,可以提供關(guān)于 Docker 宿主機(jī)的全面信息,有助于日常管理和故障排查。
?
docker logs [OPTIONS] CONTAINER
參數(shù)說(shuō)明
- CONTAINER:容器的 ID 或名稱。
選項(xiàng)說(shuō)明
- -f, --follow:跟蹤日志輸出,類似于?
tail -f
。 - -t, --timestamps:在日志中顯示時(shí)間戳。
- --tail:僅顯示最新的 N 條日志(例如?
--tail="all"
?顯示所有日志)。
?示例:
# 查看容器日志
docker logs container_id# 查看帶有時(shí)間戳的容器日志
docker logs -t container_id# 實(shí)時(shí)跟蹤容器日志
docker logs -f container_id# 查看容器的最后幾條日志
docker logs --tail=5 container_id# 查看從特定時(shí)間點(diǎn)開(kāi)始的日志
docker logs --since="2021-03-15T12:00:00" container_id
3.2 使用場(chǎng)景
- 故障排查:當(dāng)遇到 Docker 相關(guān)問(wèn)題時(shí),docker info 提供的詳細(xì)信息可以幫助你或 Docker 社區(qū)更快地定位問(wèn)題。
- 系統(tǒng)管理:了解系統(tǒng)資源使用情況和 Docker 配置,有助于進(jìn)行系統(tǒng)維護(hù)和優(yōu)化。
- 環(huán)境確認(rèn):在部署新應(yīng)用或擴(kuò)展現(xiàn)有服務(wù)前,確認(rèn) Docker 環(huán)境的配置和狀態(tài)。
該命令使用時(shí)注意事項(xiàng):
- 容器必須處于運(yùn)行狀態(tài),你才能查看其日志。
- 日志默認(rèn)是從容器的?stdout?和?stderr?輸出的。
- 如果容器停止了,你仍然可以查看其歷史日志。
- 使用?-f?選項(xiàng)時(shí),你可以通過(guò)發(fā)送?Ctrl+C?來(lái)停止跟蹤日志。
4.Docker 登陸與登出命令
要與 Docker Hub 或其他 Docker 倉(cāng)庫(kù)進(jìn)行交互,你需要使用 Docker 登錄和登出命令
4.1?登錄 Docker 倉(cāng)庫(kù)
?登陸到一個(gè)Docker鏡像倉(cāng)庫(kù),如果未指定鏡像倉(cāng)庫(kù)地址,默認(rèn)為官方倉(cāng)庫(kù) Docker Hub
docker login [OPTIONS] [SERVER]
?參數(shù)說(shuō)明:
[SERVER]
:倉(cāng)庫(kù)地址,如 Docker Hub 的地址是?docker.io
。
選項(xiàng)說(shuō)明:
-u
?或?-username
:你的 Docker 用戶名。-p
?或?-password
:你的 Docker 密碼。
docker login -u username -p password
在執(zhí)行該命令后,Docker 會(huì)提示你輸入用戶名和密碼?
4.2?登出 Docker 倉(cāng)庫(kù)
登出一個(gè)Docker鏡像倉(cāng)庫(kù),如果未指定鏡像倉(cāng)庫(kù)地址,默認(rèn)為官方倉(cāng)庫(kù) Docker Hub
docker logout [SERVER]
參數(shù)說(shuō)明:
[SERVER]
:倉(cāng)庫(kù)地址,如果未指定,默認(rèn)是 Docker Hub。
#登出Docker Hub
docker logout
注意事項(xiàng)
- 登錄信息(用戶名和密碼)在 Docker 的認(rèn)證存儲(chǔ)中是加密保存的。
- 如果你需要為不同的 Docker 倉(cāng)庫(kù)服務(wù)配置不同的憑據(jù),可以為每個(gè)倉(cāng)庫(kù)執(zhí)行?docker login?命令。
- 登出操作不會(huì)影響已經(jīng)保存的登錄憑據(jù),只是結(jié)束了當(dāng)前的會(huì)話。
- 如果你使用了 Docker Desktop,登錄狀態(tài)會(huì)在 Docker Desktop 的 GUI 中顯示,也可以在那里登出。
?
5. Docker版本
如果你想要查看詳細(xì)的版本信息,包括客戶端和服務(wù)器的所有獨(dú)立組件的版本號(hào),可以使用:
docker version
這將顯示包括 Docker 社區(qū)版引擎、客戶端(Client)和服務(wù)器(Server)的版本信息,如 API 版本、Go 版本、Git 提交 ID、構(gòu)建時(shí)間、操作系統(tǒng)和架構(gòu)等。
如果你只需要某個(gè)特定部分的信息,可以使用 --format 選項(xiàng)來(lái)格式化輸出。例如,要只輸出服務(wù)器的版本信息,可以使用:
# 僅顯示 Docker 服務(wù)器的版本號(hào)
docker version --format '{{.Server.Version}}'
?也可以使用以下命令查看 Docker 的版本信息
docker --version
6.最后
感謝大家,請(qǐng)大家多多支持!