Docker之容器導(dǎo)出為鏡像問(wèn)題
Docker容器導(dǎo)出為鏡像
Docker鏡像備份與遷移
- 1. 容器保存為鏡像
- 2. 鏡像備份
- 3. 鏡像恢復(fù)與遷移
1. 容器保存為鏡像
我們可以通過(guò)以下命令將容器保存為鏡像
docker commit pinyougou_nginx mynginx
pinyougou_nginx
是容器名稱(chēng)mynginx
是新的鏡像名稱(chēng)
pinyougou_nginx容器已經(jīng)成功保存為mynginx鏡像,執(zhí)行
docker images
查看鏡像,是否操作成功
此鏡像的內(nèi)容就是你當(dāng)前容器的內(nèi)容,接下來(lái)你可以用此鏡像再次運(yùn)行新的容器
記錄Docker容器轉(zhuǎn)鏡像
1.默認(rèn)鏡像中安裝wget
Docker鏡像可以通過(guò)Dockerfile構(gòu)建出來(lái),也可以通過(guò)現(xiàn)有容器生成新的鏡像。這里記錄一次基于centos鏡像的修改版本的生成過(guò)程。
$ docker images REPOSITORY ? ?TAG ? ? ? IMAGE ID ? ? ? CREATED ? ? ? ?SIZE tomcat ? ? ? ?latest ? ?b0e0b0a92cf9 ? 6 weeks ago ? ?680MB nginx ? ? ? ? latest ? ?87a94228f133 ? 8 weeks ago ? ?133MB hello-world ? latest ? ?feb5d9fea6a5 ? 2 months ago ? 13.3kB centos ? ? ? ?latest ? ?5d0da3dc9764 ? 2 months ago ? 231MB redis ? ? ? ? latest ? ?02c7f2054405 ? 3 months ago ? 105MB java ? ? ? ? ?8 ? ? ? ? d23bdf5b1b1b ? 4 years ago ? ?643MB
啟動(dòng)默認(rèn)的centos鏡像
$ docker run -it --name mycentos centos /bin/bash
發(fā)現(xiàn)在默認(rèn)的鏡像中沒(méi)有wget命令
[root@b4c252cdd42a /]# wget bash: wget: command not found
使用yum install在容器內(nèi)安裝wget命令
[root@b4c252cdd42a /]# yum install wget ...... Complete!
2.導(dǎo)出容器再導(dǎo)入鏡像
如果每次新啟動(dòng)的容器都要重新安裝wget很麻煩,所以導(dǎo)出容器再導(dǎo)入作為一個(gè)新的鏡像。
查看容器,看到名稱(chēng)為mycentos
$ docker ps CONTAINER ID ? IMAGE ? ? COMMAND ? ? ? CREATED ? ? ? ? ?STATUS ? ? ? ? ?PORTS ? ? NAMES b4c252cdd42a ? centos ? ?"/bin/bash" ? 14 minutes ago ? Up 14 minutes ? ? ? ? ? ? mycentos
導(dǎo)出這個(gè)容器,容器導(dǎo)出后會(huì)在當(dāng)前目錄中看到這個(gè)文件
$ docker export mycentos > mycentos_export.tar
將這個(gè)文件導(dǎo)入docker環(huán)境,會(huì)看到新的鏡像。
$ docker import - mycentos-image < mycentos_export.tar? sha256:c7d000aaf05fa8d5b26a94dd3fbe09bf62a0007cbed73eeedefe6119434c375d $ docker images REPOSITORY ? ? ? TAG ? ? ? IMAGE ID ? ? ? CREATED ? ? ? ? SIZE mycentos-image ? latest ? ?c7d000aaf05f ? 8 seconds ago ? 259MB tomcat ? ? ? ? ? latest ? ?b0e0b0a92cf9 ? 6 weeks ago ? ? 680MB nginx ? ? ? ? ? ?latest ? ?87a94228f133 ? 8 weeks ago ? ? 133MB hello-world ? ? ?latest ? ?feb5d9fea6a5 ? 2 months ago ? ?13.3kB centos ? ? ? ? ? latest ? ?5d0da3dc9764 ? 2 months ago ? ?231MB redis ? ? ? ? ? ?latest ? ?02c7f2054405 ? 3 months ago ? ?105MB java ? ? ? ? ? ? 8 ? ? ? ? d23bdf5b1b1b ? 4 years ago ? ? 643MB
3.執(zhí)行新的鏡像
執(zhí)行新的鏡像,可以看到新的鏡像已經(jīng)包含了wget命令。
(base) wjx-mac-pro:~ wangjianxuan1$ docker run -it --name mycentos-cus mycentos-image /bin/bash [root@3edd237aa0e5 /]# wget wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options.
為了方便,可以將這個(gè)鏡像提交到docker庫(kù)上,下次可以直接使用這個(gè)鏡像就可以了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
docker將鏡像打包為.tar包實(shí)現(xiàn)方法
使用tar包格式進(jìn)行壓縮,方便在不同的docker主機(jī)之間進(jìn)行遷移和備份,下面這篇文章主要給大家介紹了關(guān)于docker將鏡像打包為.tar包的實(shí)現(xiàn)方法,需要的朋友可以參考下2024-07-07基于Harbor構(gòu)建docker私有倉(cāng)庫(kù)的方法
這篇文章主要介紹了Harbor構(gòu)建docker私有倉(cāng)庫(kù)的問(wèn)題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12Rancher無(wú)法添加主機(jī)問(wèn)題的解決方法
這篇文章主要給大家介紹了關(guān)于Rancher無(wú)法添加主機(jī)問(wèn)題的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06Docker容器網(wǎng)絡(luò)更改的實(shí)現(xiàn)
本文主要介紹了Docker容器網(wǎng)絡(luò)更改的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03利用Docker搭建Laravel開(kāi)發(fā)環(huán)境的完整步驟
這篇文章主要給大家介紹了關(guān)于如何利用Docker搭建Laravel開(kāi)發(fā)環(huán)境的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09詳解如何獲取docker容器(container)的ip地址
這篇文章主要介紹了詳解如何獲取docker容器(container)的ip地址,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09聊聊kubernetes1.20用containerd替換docker(shim)的問(wèn)題
這篇文章主要介紹了kubernetes1.20用containerd替換docker(shim),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03docker實(shí)現(xiàn)跨宿主機(jī)的容器之間網(wǎng)絡(luò)互聯(lián)
本文主要介紹了docker實(shí)現(xiàn)跨宿主機(jī)的容器之間網(wǎng)絡(luò)互聯(lián),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01