Docker容器啟動(dòng)和停止的操作指南
前言
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,允許開(kāi)發(fā)者將應(yīng)用及其依賴打包在一個(gè)輕量級(jí)的容器中,并在任何支持 Docker 的機(jī)器上運(yùn)行。掌握 Docker 容器的啟動(dòng)和停止管理是開(kāi)發(fā)者和運(yùn)維人員的基礎(chǔ)技能。本文將詳細(xì)介紹如何精確地啟動(dòng)和停止 Docker 容器,提供一系列常見(jiàn)的 Docker 啟動(dòng)與停止操作的代碼示例,幫助你快速上手。
1. Docker 啟動(dòng)操作
1.1 啟動(dòng) Docker 服務(wù)
在使用 Docker 之前,首先要確保 Docker 服務(wù)已經(jīng)啟動(dòng)。以下命令檢查并啟動(dòng) Docker 服務(wù):
# 檢查 Docker 服務(wù)狀態(tài) sudo systemctl status docker # 啟動(dòng) Docker 服務(wù) sudo systemctl start docker # 設(shè)置 Docker 開(kāi)機(jī)自動(dòng)啟動(dòng) sudo systemctl enable docker
如果 Docker 沒(méi)有安裝,可以使用以下命令進(jìn)行安裝(以 Ubuntu 為例):
sudo apt update sudo apt install docker.io
1.2 啟動(dòng) Docker 容器
可以使用 docker run 命令來(lái)啟動(dòng)一個(gè)新的 Docker 容器。假設(shè)我們想要啟動(dòng)一個(gè)基于 nginx 鏡像的容器:
# 使用 nginx 鏡像啟動(dòng)一個(gè)容器 docker run -d --name my-nginx -p 8080:80 nginx
-d:以后臺(tái)模式運(yùn)行容器(即 detached 模式)。--name my-nginx:指定容器的名稱為my-nginx。-p 8080:80:將容器的 80 端口映射到宿主機(jī)的 8080 端口。nginx:指定使用nginx鏡像。
執(zhí)行上述命令后,容器會(huì)在后臺(tái)啟動(dòng),并且可以通過(guò) http://localhost:8080 訪問(wèn) nginx 服務(wù)。
1.3 啟動(dòng)已存在的容器
如果容器已創(chuàng)建但處于停止?fàn)顟B(tài),可以使用以下命令啟動(dòng)它:
# 啟動(dòng)一個(gè)已存在的容器 docker start my-nginx
1.4 啟動(dòng)容器并進(jìn)入交互模式
有時(shí)我們需要進(jìn)入容器內(nèi)進(jìn)行操作,可以使用 docker exec 命令:
# 進(jìn)入正在運(yùn)行的容器,啟動(dòng)一個(gè)交互式終端 docker exec -it my-nginx /bin/bash
-it:使容器運(yùn)行在交互模式并分配偽終端。/bin/bash:進(jìn)入容器的 bash shell。
2. Docker 停止操作
2.1 停止運(yùn)行中的容器
停止一個(gè)正在運(yùn)行的容器可以使用 docker stop 命令:
# 停止正在運(yùn)行的容器 docker stop my-nginx
執(zhí)行此命令后,容器會(huì)被優(yōu)雅地停止。如果容器沒(méi)有在默認(rèn)的 10 秒內(nèi)停止,可以使用 -t 參數(shù)指定超時(shí)時(shí)間:
# 設(shè)置超時(shí)時(shí)間為 5 秒 docker stop -t 5 my-nginx
2.2 強(qiáng)制停止容器
如果容器沒(méi)有正常停止,可以使用 docker kill 命令強(qiáng)制停止容器:
# 強(qiáng)制停止正在運(yùn)行的容器 docker kill my-nginx
2.3 停止所有運(yùn)行中的容器
如果需要一次性停止所有正在運(yùn)行的容器,可以結(jié)合 docker ps 和 docker stop 命令:
# 停止所有正在運(yùn)行的容器 docker stop $(docker ps -q)
docker ps -q:獲取所有正在運(yùn)行的容器的容器 ID。docker stop $(docker ps -q):將所有容器 ID 作為參數(shù)傳遞給docker stop命令,停止所有容器。
2.4 停止并刪除容器
有時(shí)我們?cè)谕V谷萜骱筮€需要?jiǎng)h除容器,可以使用 docker rm 命令:
# 停止并刪除容器 docker stop my-nginx docker rm my-nginx
或者,結(jié)合 -f 參數(shù),可以強(qiáng)制停止并刪除容器:
# 強(qiáng)制停止并刪除容器 docker rm -f my-nginx
3. Docker 容器狀態(tài)管理
3.1 查看容器狀態(tài)
可以使用 docker ps 查看當(dāng)前正在運(yùn)行的容器:
# 查看正在運(yùn)行的容器 docker ps
如果想查看所有容器(包括已停止的容器),可以加上 -a 參數(shù):
# 查看所有容器(包括已停止的) docker ps -a
3.2 查看容器的日志
可以通過(guò) docker logs 命令查看容器的輸出日志:
# 查看容器的日志 docker logs my-nginx
如果容器是運(yùn)行在后臺(tái)模式下,可以加上 -f 參數(shù),實(shí)時(shí)查看容器日志:
# 實(shí)時(shí)查看容器日志 docker logs -f my-nginx
4. Docker 容器的重啟操作
4.1 重啟容器
有時(shí)我們需要重新啟動(dòng)一個(gè)容器,可以使用 docker restart 命令:
# 重啟容器 docker restart my-nginx
4.2 設(shè)置容器自動(dòng)重啟策略
如果希望容器在 Docker 服務(wù)重啟后自動(dòng)啟動(dòng),可以使用 --restart 參數(shù)來(lái)設(shè)置重啟策略。例如:
# 啟動(dòng)容器時(shí)設(shè)置自動(dòng)重啟策略 docker run -d --name my-nginx --restart always nginx
重啟策略包括以下幾種:
no:容器退出時(shí)不重啟。always:容器退出時(shí)總是重啟。unless-stopped:容器退出時(shí)重啟,除非容器被手動(dòng)停止。on-failure:容器退出時(shí)重啟,且僅在非零退出狀態(tài)時(shí)重啟。
5. 高級(jí) Docker 操作
5.1 Docker 容器的資源限制
在啟動(dòng)容器時(shí),可以通過(guò) -m 參數(shù)限制容器的內(nèi)存使用:
# 啟動(dòng)容器并限制內(nèi)存使用 docker run -d --name my-nginx -m 256m nginx
同時(shí)也可以設(shè)置 CPU 限制:
# 限制容器使用 CPU 數(shù)量 docker run -d --name my-nginx --cpus="1.0" nginx
5.2 Docker 容器的網(wǎng)絡(luò)配置
可以使用 --network 參數(shù)配置容器的網(wǎng)絡(luò)模式:
# 使用自定義網(wǎng)絡(luò)模式啟動(dòng)容器 docker network create my_network docker run -d --name my-nginx --network my_network nginx
總結(jié)
Docker 是一個(gè)強(qiáng)大的工具,用于創(chuàng)建、部署和管理容器化應(yīng)用。掌握 Docker 容器的啟動(dòng)和停止操作是每個(gè)開(kāi)發(fā)者和運(yùn)維人員的基礎(chǔ)技能。本文通過(guò)詳細(xì)的示例介紹了 Docker 容器的啟動(dòng)、停止、重啟等常見(jiàn)操作,幫助你輕松管理容器。
常見(jiàn)的 Docker 操作包括:
- 啟動(dòng)、停止、重啟容器。
- 配置容器的自動(dòng)重啟策略。
- 查看容器的狀態(tài)和日志。
- 強(qiáng)制停止容器。
- 使用高級(jí)操作限制容器的資源使用。
通過(guò)這些基本操作,您可以輕松管理 Docker 容器,提升開(kāi)發(fā)和運(yùn)維的效率。
到此這篇關(guān)于Docker容器啟動(dòng)和停止的寫操作指南的文章就介紹到這了,更多相關(guān)Docker啟動(dòng)和停止內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Docker中的ubuntu中安裝Python3和Pip的問(wèn)題
這篇文章主要介紹了在Docker中的ubuntu中安裝Python3和Pip的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
Docker卸載清除報(bào)錯(cuò)rm:Device or resource busy問(wèn)題及解決
本文介紹了如何卸載已安裝的Docker,并解決了在刪除Docker數(shù)據(jù)目錄時(shí)遇到的Deviceorresourcebusy錯(cuò)誤,提出了解決方案,即取消掛載目錄或根據(jù)提示進(jìn)行操作2026-04-04
如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng)
這篇文章主要介紹了如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-08-08
前端轉(zhuǎn)全棧必須要掌握的一些Docker知識(shí)
對(duì)于長(zhǎng)期深耕于瀏覽器環(huán)境的前端開(kāi)發(fā)者而言,邁向全棧并非僅僅是技術(shù)棧的延伸,更是一次思維模式的根本性轉(zhuǎn)變,這篇文章主要介紹了前端轉(zhuǎn)全棧必須要掌握的一些Docker知識(shí),需要的朋友可以參考下2026-03-03

