<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
隨著容器技術的發展,現在很多的應用程式系統都會選擇使用docker容器進行部署,但是有時候使用docker容器進行部署的時候會遇到問題,比如說我們的應用程式裡面需要依賴其他第三方的映象,如果這時候伺服器是在內網不能連線外網的情況下,那麼就無法部署了。基於這種情況,docker官方支援docker映象和容器的匯入和匯出,我們可以在一臺能夠聯網的機器上面編譯映象,然後匯出映象或者容器,最後把匯出的映象或者容器上傳到內網伺服器,然後在匯入映象或者容器,這樣就可以了。
映象和容器的匯入、匯出操作主要涉及到下面的幾個命令:save、load、export、import。
演示過程中我們是在本地生成映象或者容器,然後把映象或者容器匯出,最後上傳到阿里雲伺服器演示匯入功能。
我們使用VS 2019建立一個ASP.NET Core MVC的專案,新增Dockerfile檔案:
# 使用執行時映象 FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim # 設定工作目錄 WORKDIR /app # 把目錄下的內容都複製到當前目錄下 COPY . . # 暴露80埠 EXPOSE 80 # 執行映象入口命令和可執行檔名稱 ENTRYPOINT ["dotnet", "DockerDemo.dll"]
然後釋出專案。我們檢視現有的docker映象
可以看到:現在只有兩個.net core的映象。我們生成映象:
docker build -t dockerdemo .
如下圖所示:
檢視生成後的映象
然後我們根據生成的映象來執行容器,首先檢視現有的容器:
可以看到這時沒有任何容器。我們執行容器:
可以看到:容器已經執行成功了。
涉及到的命令:
docker save [options] images [images...]
我們使用上面的映象來演示映象的匯出:
docker save -o dockerdemo.tar dockerdemo
如下圖所示:
這裡匯出的時候指定了匯出後檔案的路徑,如果不指定路徑,預設是當前資料夾。
或者也可以使用下面的命令匯出:
docker save > dockerdemo.tar dockerdemo
其中-o和>表示輸出到檔案,dockerdemo.tar為匯出的目標檔案,dockerdemo為源映象名。
我們檢視本地是否有了匯出後的檔案:
可以看到目錄下面已經有了剛才匯出的檔案。
我們首先使用XFtp把上面匯出的映象檔案上傳到阿里雲伺服器
然後進入檔案所在的目錄
我們檢視阿里雲伺服器上面有哪些映象:
從上圖中看出:現在阿里雲伺服器上面沒有任何的映象。
涉及到的匯入命令load
docker load [options]
接下來我們匯入剛才上傳的映象。
docker load -i dockerdemo.tar
如下圖所示:
或者也可以使用下面的命令
docker load < dockerdemo.tar
其中-i(i即imput)和<表示從檔案輸入。上面的兩個命令都會成功匯入映象以及相關後設資料,包括tag資訊。
匯入後檢視映象:
可以看到有了我們剛才匯入的映象。匯入了映象以後就可以根據映象執行容器,最後執行應用程式。
接下來我們演示容器的匯入和匯出。
涉及到的命令export。
docker export [options] container
我們把上面生成的容器匯出:
docker export -o D:containersdockerdemocontainer.tar dockerdemo
如下圖所示:
其中,-o表示輸出的檔案,這裡指定了輸出的路徑,如果沒有指定路徑,則預設生成到當前資料夾。dockerdemocontainer.tar為目標檔案,dockerdemo為源容器名。
我們檢視目錄下面是否生成了匯出的容器:
我們首先把匯出的容器使用XFTP上傳到阿里雲伺服器。
涉及到的匯入命令import。
docker import [options] file|URL|- [REPOSITORY[:TAG]]
如下圖所示
我們匯入剛才上傳的容器
docker import [options] file|URL|- [REPOSITORY[:TAG]]
dockerdemocontainer.tar表示要匯入的容器,dockerdemo:imp表示匯入後的映象名稱,imp表示給匯入的映象打tag。
如下圖所示
然後我們檢視映象:
可以看到這時有我們剛才匯入的映象了,匯入的映象tag為imp。
下面我們來總結一下映象和容器匯入匯出的區別:
docker load不能對匯入的映象重新命名,而docker import匯入可以為映象指定新名稱。例如,上面匯入的時候指定dockerdeom:imp。
對於是使用映象匯入匯出還是使用容器匯入匯出該如何選擇呢?有下面兩點建議:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45