詳解Docker基于已有的鏡像制新的鏡像
1.根據(jù)運行的容器制作鏡像
#查看所有的容器 docker ps
#暫停當前容器 docker pause COTNAINER-ID
#將容器運行當前狀態(tài)提交 docker commit COTNAINER-ID
#根據(jù)COMMIT-ID打包容器Tag docker tag COMMIT-ID
經(jīng)過以上幾個步驟,根據(jù)當前運行的容器制作鏡像就完成了。
2.上傳鏡像到Docker Hub
如果未登錄Docker Hub,需要登錄Docker Hub
docker login #輸入用戶名和密碼
推送鏡像到Docker Hub
docker push IMAGE-NAME
運行結(jié)果如下圖所示:
在Docker Hub上可以查看到我們剛剛上傳的鏡像文件,因為這個鏡像是公開的,所以現(xiàn)在所有人都能夠docker pull獲取該鏡像。
3.獲取上傳的鏡像并運行
因為我使用的是同一臺Ubuntu機器,我本地已經(jīng)有了bage88/firstimage
這個鏡像,我先要刪除該鏡像,然后再獲取。
3.1 刪除鏡像
#### 刪除鏡像 docker rmi IMAGE_NAME
提示如下錯誤,有基于該鏡像的容器在運行,所以我先要刪除這個容器,再刪除鏡像。
Error response from daemon: conflict: unable to remove repository reference "bage88/firstimage" (must force) - container 25dca6040e7e is using its referenced image 31758d7d9e60
3.2 刪除容器
docker rm 25dca6040e7e(這個是容器ID)
再執(zhí)行一次刪除鏡像命令:
docker rmi bage88/firstimage ###結(jié)果如下,說明刪除鏡像成功 Untagged: bage88/firstimage:latest Untagged: bage88/firstimage@sha256:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481 Deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381ad Deleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5
3.3 獲取鏡像
docker pull bage88/firstimage
3.4 運行鏡像
docker run -d -p 8010:80 bage88/firstimage
查看結(jié)果:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
idea鏈接不上虛擬機的docker里的mongodb問題及解決
這篇文章主要介紹了idea鏈接不上虛擬機的docker里的mongodb問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06Docker系列學習之Swarm mode管理節(jié)點常用命令詳解
這篇文章主要為大家介紹了Docker系列學習之Swarm mode管理節(jié)點常用命令詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10Docker?創(chuàng)建centos容器集群并實現(xiàn)遠程登錄功能
這篇文章主要介紹了Docker?創(chuàng)建centos容器集群并實現(xiàn)遠程登錄,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03Dockerfile為鏡像添加SSH服務(wù)的實現(xiàn)步驟
利用 SSH 協(xié)議可以有效防止遠程管理過程中的信息泄露問題,本文主要介紹了Dockerfile為鏡像添加SSH服務(wù)的實現(xiàn)步驟,具有一定的參考價值,感興趣的可以了解一下2024-03-03