docker 復(fù)制容器的項(xiàng)目實(shí)踐
在 Docker 中復(fù)制容器本身并不是直接支持的操作,但你可以通過(guò)以下方法來(lái)實(shí)現(xiàn)類(lèi)似的效果:
1.將已有的容器提交為鏡像
2.以該鏡像創(chuàng)建容器
3.開(kāi)啟容器,進(jìn)入容器內(nèi)部
一. 使用 Docker 鏡像復(fù)制容器
首先,你可以將容器的狀態(tài)保存為鏡像,然后從該鏡像創(chuàng)建一個(gè)新的容器。步驟如下:
提交容器的更改為鏡像
docker commit <容器ID或名稱(chēng)> <鏡像名>:<標(biāo)簽> C:\Users\fuyul>docker commit phttp peach:2024 sha256:1d07a8690c4f65a0cc5ef836b14d73facd24f5911b06f3e977fb50010cedce80
成功執(zhí)行 docker commit 命令時(shí),終端會(huì)輸出新的鏡像 ID。例如:
sha256:abc123def4567890...
查找鏡像

刪除鏡像 peach 和 peach1(可不執(zhí)行)

結(jié)果:

從鏡像創(chuàng)建新容器:
查看在運(yùn)行的容器

從鏡像創(chuàng)建新容器:
docker run -d <鏡像名>:<標(biāo)簽>
例如:
docker run -d -v d:\Data:/peachs --name peachs peach:2024 /bin/bash -c "while true; do sleep 1; done"

解釋
docker run: 這是用于運(yùn)行一個(gè)新的容器的 Docker 命令。-d: 這個(gè)選項(xiàng)表示以“分離”模式運(yùn)行容器,也就是說(shuō)容器將在后臺(tái)運(yùn)行,而不是綁定到當(dāng)前終端窗口。-v d:\Data:/peachs: 這個(gè)選項(xiàng)將主機(jī)上的d:\Data目錄掛載到容器內(nèi)的/peachs目錄。這使得容器可以訪問(wèn)和操作主機(jī)上的d:\Data目錄中的文件。--name peachs: 這個(gè)選項(xiàng)為容器指定了一個(gè)名稱(chēng)peachs,這樣你可以用這個(gè)名稱(chēng)來(lái)引用和管理容器,而不需要使用容器的自動(dòng)生成 ID。peach:2024: 這是要運(yùn)行的 Docker 鏡像的名稱(chēng)和標(biāo)簽。peach是鏡像的名稱(chēng),2024是標(biāo)簽或版本號(hào)。/bin/bash -c "while true; do sleep 1; done": 這是容器啟動(dòng)時(shí)要執(zhí)行的命令。/bin/bash啟動(dòng)一個(gè) Bash shell,-c選項(xiàng)允許你傳遞一個(gè)命令字符串。"while true; do sleep 1; done"是一個(gè)無(wú)限循環(huán)的 Bash 腳本,這個(gè)腳本每秒鐘暫停一次,實(shí)際上它使容器保持運(yùn)行狀態(tài)而不執(zhí)行其他任務(wù)。這個(gè)命令的作用是啟動(dòng)一個(gè)基于
peach:2024鏡像的 Docker 容器,掛載主機(jī)上的d:\Data目錄到容器內(nèi)的/peachs目錄,以分離模式運(yùn)行,并在容器內(nèi)執(zhí)行一個(gè)無(wú)限循環(huán)的命令來(lái)保持容器處于運(yùn)行狀態(tài)。容器被命名為peachs。
開(kāi)啟容器
docker exec -it 容器名 /bin/bash docker exec -it peachs /bin/bash
2. 使用 Docker 導(dǎo)出和導(dǎo)入容器
另一種方法是將容器的文件系統(tǒng)導(dǎo)出到 tar 文件中,然后在另一臺(tái)機(jī)器上導(dǎo)入這個(gè) tar 文件來(lái)創(chuàng)建新容器:
導(dǎo)出容器:
docker export <容器ID或名稱(chēng)> -o <文件名>.tar
例如:
docker export my_container -o my_container_backup.tar
導(dǎo)入容器:
docker import <文件名>.tar <新鏡像名>:<標(biāo)簽>
例如:
docker import my_container_backup.tar my_new_image:latest
使用導(dǎo)入的鏡像創(chuàng)建新容器:
docker run -d <新鏡像名>:<標(biāo)簽>
例如:
docker run -d my_new_image:latest
3. 克隆容器的配置和數(shù)據(jù)
如果你需要復(fù)制容器的配置和數(shù)據(jù),可以使用 Docker Compose 文件來(lái)定義和創(chuàng)建容器的配置,然后在另一臺(tái)機(jī)器上使用相同的 Compose 文件來(lái)創(chuàng)建容器。這種方法適用于容器的配置和部署一致的場(chǎng)景。
注意事項(xiàng)
- 容器狀態(tài):
docker export和docker commit不會(huì)保存容器的運(yùn)行狀態(tài)(例如,當(dāng)前進(jìn)程狀態(tài)),它們主要用于保存文件系統(tǒng)的狀態(tài)。 - 數(shù)據(jù)持久性:確保數(shù)據(jù)存儲(chǔ)在持久卷中,這樣在復(fù)制容器時(shí),數(shù)據(jù)不會(huì)丟失。
根據(jù)你的具體需求和場(chǎng)景,選擇合適的方法來(lái)復(fù)制容器。
到此這篇關(guān)于docker 復(fù)制容器的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)docker 復(fù)制容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在docker-compose.yml文件中配置容器的環(huán)境變量方式
本文介紹了在docker-compose.yml文件中設(shè)置和使用環(huán)境變量的方法,包括直接設(shè)置環(huán)境變量、從文件讀取環(huán)境變量以及使用多個(gè)環(huán)境文件進(jìn)行不同部署環(huán)境的配置2024-11-11
詳解Docker私有倉(cāng)庫(kù)Registry的搭建驗(yàn)證
這篇文章主要介紹了詳解Docker私有倉(cāng)庫(kù)Registry的搭建驗(yàn)證,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05
docker容器內(nèi)要啟動(dòng)兩個(gè)進(jìn)程時(shí)Dockerfile的實(shí)現(xiàn)代碼
這篇文章主要介紹了docker容器內(nèi)要啟動(dòng)兩個(gè)進(jìn)程時(shí)Dockerfile的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-11-11
Docker搭建代碼檢測(cè)平臺(tái)SonarQube并檢測(cè)maven項(xiàng)目的流程
這篇文章主要介紹了Docker搭建代碼檢測(cè)平臺(tái)SonarQube并檢測(cè)maven項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
Docker部署HertzBeat實(shí)時(shí)監(jiān)控告警系統(tǒng)
HertzBeat是一款開(kāi)源的實(shí)時(shí)監(jiān)控告警系統(tǒng),本文就來(lái)介紹一下Docker部署HertzBeat實(shí)時(shí)監(jiān)控告警系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫(kù)
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,自從接觸docker以來(lái),一直想建立基于Docker的PHP調(diào)用基于Docker的Mysql數(shù)據(jù)庫(kù),下面通過(guò)本文給大家介紹下,感興趣的朋友參考下2016-11-11
Spring Cloud中使用jib進(jìn)行docker部署的步驟詳解
這篇文章主要介紹了Spring Cloud中使用jib進(jìn)行docker部署的步驟詳解,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09

