docker 復(fù)制容器的實(shí)現(xiàn)步驟
在 Docker 中復(fù)制容器本身并不是直接支持的操作,但你可以通過以下方法來實(shí)現(xiàn)類似的效果:
1.將已有的容器提交為鏡像
2.以該鏡像創(chuàng)建容器
3.開啟容器,進(jìn)入容器內(nèi)部
一. 使用 Docker 鏡像復(fù)制容器
首先,你可以將容器的狀態(tài)保存為鏡像,然后從該鏡像創(chuàng)建一個(gè)新的容器。步驟如下:
提交容器的更改為鏡像
docker commit <容器ID或名稱> <鏡像名>:<標(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)行容器,也就是說容器將在后臺(tái)運(yùn)行,而不是綁定到當(dāng)前終端窗口。-v d:\Data:/peachs: 這個(gè)選項(xiàng)將主機(jī)上的d:\Data目錄掛載到容器內(nèi)的/peachs目錄。這使得容器可以訪問和操作主機(jī)上的d:\Data目錄中的文件。--name peachs: 這個(gè)選項(xiàng)為容器指定了一個(gè)名稱peachs,這樣你可以用這個(gè)名稱來引用和管理容器,而不需要使用容器的自動(dòng)生成 ID。peach:2024: 這是要運(yùn)行的 Docker 鏡像的名稱和標(biāo)簽。peach是鏡像的名稱,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è)無限循環(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è)無限循環(huán)的命令來保持容器處于運(yùn)行狀態(tài)。容器被命名為peachs。
開啟容器
docker exec -it 容器名 /bin/bash docker exec -it peachs /bin/bash
二. 使用 Docker 導(dǎo)出和導(dǎo)入容器
另一種方法是將容器的文件系統(tǒng)導(dǎo)出到 tar 文件中,然后在另一臺(tái)機(jī)器上導(dǎo)入這個(gè) tar 文件來創(chuàng)建新容器:
導(dǎo)出容器:
docker export <容器ID或名稱> -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
三. 克隆容器的配置和數(shù)據(jù)
如果你需要復(fù)制容器的配置和數(shù)據(jù),可以使用 Docker Compose 文件來定義和創(chuàng)建容器的配置,然后在另一臺(tái)機(jī)器上使用相同的 Compose 文件來創(chuà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ù)你的具體需求和場景,選擇合適的方法來復(fù)制容器。
到此這篇關(guān)于docker 復(fù)制容器的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)docker 復(fù)制容器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker方式啟動(dòng)tomcat訪問首頁出現(xiàn)404錯(cuò)誤
這篇文章主要介紹了Docker方式啟動(dòng)tomcat訪問首頁出現(xiàn)404錯(cuò)誤。文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
在Ubuntu15.04上安裝Docker的步驟以及基本用法
Docker是一種輕量型的的類虛擬機(jī)的平臺(tái),在開發(fā)項(xiàng)目上還是很有優(yōu)勢的,這僅是我的一種直觀理解。所以這篇文章主要給大家介紹了在Ubuntu15.04上安裝Docker的步驟以及基本用法,有需要的朋友們可以參考借鑒。2016-10-10
Docker拉取與部署OpenJDK到實(shí)際應(yīng)用的完整流程
這篇文章主要介紹了Docker拉取與部署OpenJDK到實(shí)際應(yīng)用的相關(guān)資料,包括鏡像拉取、容器運(yùn)行、Java程序測試、Dockerfile構(gòu)建優(yōu)化、容器管理、Spring Boot應(yīng)用部署、數(shù)據(jù)持久化與網(wǎng)絡(luò)配置、常用問題與解決方案以及最佳實(shí)踐總結(jié),需要的朋友可以參考下2025-11-11
Docker安裝Redis并介紹可視化客戶端進(jìn)行操作
這篇文章主要介紹了Docker安裝Redis并介紹可視化客戶端進(jìn)行操作方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04
使用Docker運(yùn)行Microsoft SQL Server 2017的方法
本篇文章主要介紹了使用Docker運(yùn)行Microsoft SQL Server 2017的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
IDEA直接打包Docker鏡像的實(shí)現(xiàn)
Docker提供了多種方法來打包鏡像,本文主要介紹了IDEA直接打包Docker鏡像的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06

