1.根據(jù)運(yùn)行的容器制作鏡像
#查看所有的容器docker ps
#暫停當(dāng)前容器docker pause COTNAINER-ID
#將容器運(yùn)行當(dāng)前狀態(tài)提交docker commit COTNAINER-ID
#根據(jù)COMMIT-ID打包容器Tag docker tag COMMIT-ID
經(jīng)過以上幾個(gè)步驟,根據(jù)當(dāng)前運(yùn)行的容器制作鏡像就完成了。
2.上傳鏡像到Docker Hub
如果未登錄Docker Hub,需要登錄Docker Hub
docker login#輸入用戶名和密碼
推送鏡像到Docker Hub
docker push IMAGE-NAME
運(yùn)行結(jié)果如下圖所示:
在Docker Hub上可以查看到我們剛剛上傳的鏡像文件,因?yàn)檫@個(gè)鏡像是公開的,所以現(xiàn)在所有人都能夠docker pull
獲取該鏡像。
3.獲取上傳的鏡像并運(yùn)行
因?yàn)槲沂褂玫氖峭慌_(tái)Ubuntu機(jī)器,我本地已經(jīng)有了bage88/firstimage
這個(gè)鏡像,我先要?jiǎng)h除該鏡像,然后再獲取。
3.1 刪除鏡像
#### 刪除鏡像docker rmi IMAGE_NAME
提示如下錯(cuò)誤,有基于該鏡像的容器在運(yùn)行,所以我先要?jiǎng)h除這個(gè)容器,再刪除鏡像。
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(這個(gè)是容器ID)
再執(zhí)行一次刪除鏡像命令:
docker rmi bage88/firstimage###結(jié)果如下,說明刪除鏡像成功Untagged: bage88/firstimage:latestUntagged: bage88/firstimage@sha256:dc8a6511903cdcd25cf2d9de76a1c9ba21c050bb7702525fb3e1ba0168071481Deleted: sha256:31758d7d9e60b3c77bad4f477faae5e9dc87d3d5d16a085263f2f6de58a381adDeleted: sha256:77757027951c22c480289ef98c6109c6d7df4e0bae9bda5db1e43436159de9e5
3.3 獲取鏡像
docker pull bage88/firstimage
3.4 運(yùn)行鏡像
docker run -d -p 8010:80 bage88/firstimage
查看結(jié)果:
本文基于 知識(shí)共享署名-非商業(yè)性使用-相同方式共享 3.0 中國(guó)大陸許可協(xié)議發(fā)布,歡迎轉(zhuǎn)載,演繹,但是必須保留本文的署名liminjun88(包含鏈接http://www.cnblogs.com/liminjun88/),且不得用于商業(yè)目的。如您有任何疑問或者授權(quán)方面的協(xié)商,請(qǐng)與我聯(lián)系 。
http://www.cnblogs.com/liminjun88/p/6839198.html