Docker容器啟動(dòng)和停止的操作指南
前言
Docker 是一個(gè)開源的應(yīng)用容器引擎,允許開發(fā)者將應(yīng)用及其依賴打包在一個(gè)輕量級(jí)的容器中,并在任何支持 Docker 的機(jī)器上運(yùn)行。掌握 Docker 容器的啟動(dòng)和停止管理是開發(fā)者和運(yùn)維人員的基礎(chǔ)技能。本文將詳細(xì)介紹如何精確地啟動(dòng)和停止 Docker 容器,提供一系列常見的 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 開機(jī)自動(dòng)啟動(dòng) sudo systemctl enable docker
如果 Docker 沒有安裝,可以使用以下命令進(jìn)行安裝(以 Ubuntu 為例):
sudo apt update sudo apt install docker.io
1.2 啟動(dòng) Docker 容器
可以使用 docker run
命令來啟動(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),并且可以通過 http://localhost:8080
訪問 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)雅地停止。如果容器沒有在默認(rèn)的 10 秒內(nèi)停止,可以使用 -t
參數(shù)指定超時(shí)時(shí)間:
# 設(shè)置超時(shí)時(shí)間為 5 秒 docker stop -t 5 my-nginx
2.2 強(qiáng)制停止容器
如果容器沒有正常停止,可以使用 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 查看容器的日志
可以通過 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ù)來設(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í),可以通過 -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è)開發(fā)者和運(yùn)維人員的基礎(chǔ)技能。本文通過詳細(xì)的示例介紹了 Docker 容器的啟動(dòng)、停止、重啟等常見操作,幫助你輕松管理容器。
常見的 Docker 操作包括:
- 啟動(dòng)、停止、重啟容器。
- 配置容器的自動(dòng)重啟策略。
- 查看容器的狀態(tài)和日志。
- 強(qiáng)制停止容器。
- 使用高級(jí)操作限制容器的資源使用。
通過這些基本操作,您可以輕松管理 Docker 容器,提升開發(fā)和運(yùn)維的效率。
到此這篇關(guān)于Docker容器啟動(dòng)和停止的寫操作指南的文章就介紹到這了,更多相關(guān)Docker啟動(dòng)和停止內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用 Docker 企業(yè)版搭建自己的私有注冊(cè)服務(wù)器
這篇文章主要介紹了使用 Docker 企業(yè)版搭建自己的私有注冊(cè)服務(wù)器的相關(guān)資料,需要的朋友可以參考下2018-11-11Docker?部署分布式搜索引擎?Elastic?Search的詳細(xì)過程
Elasticsearch是一款非常強(qiáng)大的開源搜索引擎,具備非常多強(qiáng)大功能,可以幫助我們從海量數(shù)據(jù)中快速找到需要的內(nèi)容,這篇文章主要介紹了Docker?部署分布式搜索引擎?Elastic?Search,需要的朋友可以參考下2023-02-02使用Docker部署Tomcat的實(shí)現(xiàn)示例
在本地編寫好了Spring項(xiàng)目,為了實(shí)現(xiàn)能夠隨時(shí)地訪問,所以需要將項(xiàng)目部署到服務(wù)器,本文主要介紹了使用Docker部署Tomcat的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11docker部署crownblog項(xiàng)目到阿里云的方法步驟
這篇文章主要介紹了docker部署crownblog項(xiàng)目到阿里云的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05docker搭建kafka集群的方法實(shí)現(xiàn)
本文主要介紹了docker搭建kafka集群的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05docker-compose:未找到命令的檢查步驟和修復(fù)
最近在使用docker時(shí),有不少人遇到了一個(gè)問題,在容器中找不到docker命令,這個(gè)問題可能會(huì)導(dǎo)致一些困惑和疑惑,這篇文章主要介紹了docker-compose:未找到命令的檢查步驟和修復(fù)的相關(guān)資料,需要的朋友可以參考下2024-08-08