最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker鏡像與容器的導(dǎo)入導(dǎo)出操作實踐

 更新時間:2022年03月26日 17:14:07   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Docker鏡像與容器的導(dǎo)入導(dǎo)出操作,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

隨著容器技術(shù)的發(fā)展,現(xiàn)在很多的應(yīng)用程序系統(tǒng)都會選擇使用docker容器進行部署,但是有時候使用docker容器進行部署的時候會遇到問題,比如說我們的應(yīng)用程序里面需要依賴其他第三方的鏡像,如果這時候服務(wù)器是在內(nèi)網(wǎng)不能連接外網(wǎng)的情況下,那么就無法部署了?;谶@種情況,docker官方支持docker鏡像和容器的導(dǎo)入和導(dǎo)出,我們可以在一臺能夠聯(lián)網(wǎng)的機器上面編譯鏡像,然后導(dǎo)出鏡像或者容器,最后把導(dǎo)出的鏡像或者容器上傳到內(nèi)網(wǎng)服務(wù)器,然后在導(dǎo)入鏡像或者容器,這樣就可以了。

鏡像和容器的導(dǎo)入、導(dǎo)出操作主要涉及到下面的幾個命令:save、load、export、import。

演示過程中我們是在本地生成鏡像或者容器,然后把鏡像或者容器導(dǎo)出,最后上傳到阿里云服務(wù)器演示導(dǎo)入功能。

我們使用VS 2019創(chuàng)建一個ASP.NET Core MVC的項目,添加Dockerfile文件:

# 使用運行時鏡像
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
# 設(shè)置工作目錄
WORKDIR /app
# 把目錄下的內(nèi)容都復(fù)制到當前目錄下
COPY . .
# 暴露80端口
EXPOSE 80
# 運行鏡像入口命令和可執(zhí)行文件名稱
ENTRYPOINT ["dotnet", "DockerDemo.dll"]

然后發(fā)布項目。我們查看現(xiàn)有的docker鏡像

可以看到:現(xiàn)在只有兩個.net core的鏡像。我們生成鏡像:

docker build -t dockerdemo .

如下圖所示:

查看生成后的鏡像

然后我們根據(jù)生成的鏡像來運行容器,首先查看現(xiàn)有的容器:

可以看到這時沒有任何容器。我們運行容器:

可以看到:容器已經(jīng)運行成功了。

二、docker鏡像的導(dǎo)入和導(dǎo)出

1、docker鏡像的導(dǎo)出

涉及到的命令:

docker save [options]  images [images...]

我們使用上面的鏡像來演示鏡像的導(dǎo)出:

docker save -o dockerdemo.tar  dockerdemo

如下圖所示:

這里導(dǎo)出的時候指定了導(dǎo)出后文件的路徑,如果不指定路徑,默認是當前文件夾。

或者也可以使用下面的命令導(dǎo)出:

docker save > dockerdemo.tar dockerdemo

其中-o和>表示輸出到文件,dockerdemo.tar為導(dǎo)出的目標文件,dockerdemo為源鏡像名。

我們查看本地是否有了導(dǎo)出后的文件:

可以看到目錄下面已經(jīng)有了剛才導(dǎo)出的文件。

2、docker鏡像的導(dǎo)入

我們首先使用XFtp把上面導(dǎo)出的鏡像文件上傳到阿里云服務(wù)器

然后進入文件所在的目錄

我們查看阿里云服務(wù)器上面有哪些鏡像:

從上圖中看出:現(xiàn)在阿里云服務(wù)器上面沒有任何的鏡像。

涉及到的導(dǎo)入命令load

docker load [options]

接下來我們導(dǎo)入剛才上傳的鏡像。

docker load -i dockerdemo.tar

如下圖所示:

或者也可以使用下面的命令

docker load < dockerdemo.tar

其中-i(i即imput)和<表示從文件輸入。上面的兩個命令都會成功導(dǎo)入鏡像以及相關(guān)元數(shù)據(jù),包括tag信息。

導(dǎo)入后查看鏡像:

可以看到有了我們剛才導(dǎo)入的鏡像。導(dǎo)入了鏡像以后就可以根據(jù)鏡像運行容器,最后運行應(yīng)用程序。

三、docker容器的導(dǎo)入和導(dǎo)出

接下來我們演示容器的導(dǎo)入和導(dǎo)出。

1、docker容器的導(dǎo)出

涉及到的命令export。

docker export [options]  container

我們把上面生成的容器導(dǎo)出:

docker export -o D:\containers\dockerdemocontainer.tar dockerdemo

如下圖所示:

其中,-o表示輸出的文件,這里指定了輸出的路徑,如果沒有指定路徑,則默認生成到當前文件夾。dockerdemocontainer.tar為目標文件,dockerdemo為源容器名。

我們查看目錄下面是否生成了導(dǎo)出的容器:

2、docker容器的導(dǎo)入

我們首先把導(dǎo)出的容器使用XFTP上傳到阿里云服務(wù)器。

涉及到的導(dǎo)入命令import。

docker import [options] file|URL|- [REPOSITORY[:TAG]]

如下圖所示

我們導(dǎo)入剛才上傳的容器

docker import [options] file|URL|- [REPOSITORY[:TAG]]

dockerdemocontainer.tar表示要導(dǎo)入的容器,dockerdemo:imp表示導(dǎo)入后的鏡像名稱,imp表示給導(dǎo)入的鏡像打tag。

如下圖所示

然后我們查看鏡像:

可以看到這時有我們剛才導(dǎo)入的鏡像了,導(dǎo)入的鏡像tag為imp。

四、總結(jié)

下面我們來總結(jié)一下鏡像和容器導(dǎo)入導(dǎo)出的區(qū)別:

  • 鏡像導(dǎo)入是一個復(fù)制的過程,容器導(dǎo)入是將當前容器變成一個新的鏡像。
  • docker save命令保存的是鏡像(image),docker export命令保存的是容器(container)。
  • export命令導(dǎo)出的tar文件略小于save命令導(dǎo)出的。
  • 因為export導(dǎo)出的是容器,export導(dǎo)出的文件在import導(dǎo)入時,無法保留鏡像所有的歷史(即每一層layer信息),不能進行回滾操作。而save是根據(jù)鏡像來的,所以導(dǎo)入時可以完整保留下每一層layer信息。如下圖所示:dockerdemo:latest是save導(dǎo)出load導(dǎo)入的,dockerdemo:imp是export導(dǎo)出import導(dǎo)入的。

  • docker load不能對導(dǎo)入的鏡像重命名,而docker import導(dǎo)入可以為鏡像指定新名稱。例如,上面導(dǎo)入的時候指定dockerdeom:imp。

對于是使用鏡像導(dǎo)入導(dǎo)出還是使用容器導(dǎo)入導(dǎo)出該如何選擇呢?有下面兩點建議:

  • 若是只想備份image,使用save和load。
  • 若是在啟動容器后,容器內(nèi)容有變化,需要備份,則使用export和import。 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • IDEA遠程連接Docker的流程步驟

    IDEA遠程連接Docker的流程步驟

    這篇文章主要介紹了IDEA遠程連接Docker的流程步驟,文中通過代碼示例給大家介紹的非常詳細,對大家學(xué)習(xí)IDEA遠程連接Docker有一定的幫助,需要的朋友可以參考下
    2024-10-10
  • docker可視化管理工具portainer忘記密碼重置教程的實現(xiàn)

    docker可視化管理工具portainer忘記密碼重置教程的實現(xiàn)

    本文主要介紹了docker可視化管理工具portainer忘記密碼重置教程的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • docker網(wǎng)絡(luò)端口映射的實現(xiàn)步驟

    docker網(wǎng)絡(luò)端口映射的實現(xiàn)步驟

    本文主要介紹了docker網(wǎng)絡(luò)端口映射的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Docker?Compose搭建Wordpress服務(wù)實現(xiàn)詳解

    Docker?Compose搭建Wordpress服務(wù)實現(xiàn)詳解

    這篇文章主要為大家介紹了Docker?Compose搭建Wordpress服務(wù)實現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • Docker 鏡像國內(nèi)加速的方法匯總(收藏版)

    Docker 鏡像國內(nèi)加速的方法匯總(收藏版)

    本文介紹了在國內(nèi)使用Docker時遇到的加速和優(yōu)化方法,針對國內(nèi)下載速度慢和斷線問題,可以使用國內(nèi)可用的DockerRegistryMirrors或自建DockerRegistryMirror/Proxy,針對沒有公共鏡像庫賬號導(dǎo)致的限流問題,可以注冊各個鏡像庫賬號并登錄,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • mac 中docker安裝mysql的圖文教程

    mac 中docker安裝mysql的圖文教程

    今天在Docker中安裝了MySQL ,是自己打的docker包.首先新建Dockerfile,新建Dockerfile后執(zhí)行build命令,具體詳情在本教程中給大家介紹的非常詳細,感興趣的朋友參考下
    2016-11-11
  • docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法

    docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法

    本文主要介紹了docker將本地鏡像發(fā)布到阿里云的實現(xiàn)方法,文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 使用Docker搭建私有GitLab的兩種方案

    使用Docker搭建私有GitLab的兩種方案

    本文給大家分享兩種Docker搭建私有GitLab的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-07-07
  • 什么是docker Docker入門教程第一篇

    什么是docker Docker入門教程第一篇

    什么是docker?這篇文章主要為大家分享了Docker簡介與入門教程第一篇,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Docker?AIGC等大模型深度學(xué)習(xí)環(huán)境搭建步驟最新詳細版

    Docker?AIGC等大模型深度學(xué)習(xí)環(huán)境搭建步驟最新詳細版

    這篇文章主要介紹了Docker?AIGC等大模型深度學(xué)習(xí)環(huán)境搭建步驟最新詳細版,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05

最新評論

特克斯县| 抚州市| 札达县| 乌海市| 西乡县| 南城县| 水城县| 天峻县| 兴国县| 乌鲁木齐县| 九江县| 青神县| 灵武市| 西乡县| 吴旗县| 临潭县| 常山县| 林州市| 靖边县| 金昌市| 九龙县| 大渡口区| 邢台县| 建昌县| 安图县| 建宁县| 洪湖市| 即墨市| 顺昌县| 张北县| 左贡县| 金沙县| 松潘县| 建阳市| 游戏| 西吉县| 增城市| 会昌县| 邯郸县| 万州区| 永清县|