欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker導入導出鏡像、容器,及啟動容器失敗的解決過程

 更新時間:2025年02月13日 10:07:32   作者:RQ-ghylls  
本文介紹了在內網環(huán)境下使用Docker進行應用程序部署時遇到的問題以及解決方案,主要通過Docker的鏡像和容器導入導出功能,實現了在內網環(huán)境下成功部署應用程序,同時,還詳細介紹了docker命令的使用方法,包括鏡像的導出和導入、容器的導出和導入等

前言

隨著容器技術的發(fā)展,現在很多的應用程序系統(tǒng)都會選擇使用docker容器進行部署,但是有時候使用docker容器進行部署的時候會遇到問題,比如說我們的應用程序里面需要依賴其他第三方的鏡像,如果這時候服務器是在內網不能連接外網的情況下,那么就無法部署了。

基于這種情況,docker官方支持docker鏡像和容器的導入和導出,我們可以在一臺能夠聯網的機器上面編譯鏡像,然后導出鏡像或者容器,最后把導出的鏡像或者容器上傳到內網服務器,然后再導入鏡像或者容器,這樣就可以了。

1.docker鏡像的導入和導出

1.1 docker鏡像的導出

  • 命令:
docker save [options] images [images……]
  • 使用命令:
docker save -o /home/dockeruser/lgr/epower.tar 鏡像名稱

docker save > /home/dockeruser/lgr/epower.tar 鏡像名稱

例子:

docker save 192.162.100.92:5000/my_pro/front_dev:1.1 > /home/dockeruser/lgr/myprofrontdev.tar
  • 解釋:

-o(即output)或>表示輸出到文件;

/home/dockeruser/lgr/epower.tar指定導出的位置路徑,如果不指定路徑,默認為當前文件夾;

  • 注意:

一般使用鏡像名稱來做導出。如果用 docker save -o /home/dockeruser/lgr/epower.tar 鏡像id 導出(即使用鏡像id來做導出),后面再導入此鏡像后,會發(fā)現鏡像的名稱和tag都是none,就還需要使用docker tag來重命名鏡像了。

1.2 docker鏡像的導入

首先需要使用xftp或其他工具將上面的.tar文件上傳到需要導入鏡像的服務器中。

  • 命令:
docker load [options]
  • 使用命令:
docker load -i epower.tar

docker load < epower.tar

例子:

docker load <  /usr/local/epower/lgr/myprofrontdev.tar
  • 解釋:

-i(即input)或<表示從文件輸入;

使用docker images命令可以查看是否導入成功,導入成功就可以根據鏡像運行容器;

由于load命令不能對鏡像重命名,我們可以使用docker tag 鏡像id 鏡像新名稱:新tag 命令給鏡像重命名;

2.docker容器的導入和導出

2.1 docker容器的導出

  • 命令:
docker export [options] container
  • 使用命令:
docker export -o /home/dockeruser/lgr/econtainer.tar 0a64dafa5db9

解釋:

  • -o表示輸出到文件;
  • /home/dockeruser/lgr/econtainer.tar指定導出的位置路徑;
  • 0a64dafa5db9為容器id;

2.2 docker容器的導入

首先需要使用xftp或其他工具將上面的.tar文件上傳到需要導入鏡像的服務器中。

  • 命令:
docker import [options] file|url| -[repository[:tag]]
  • 使用命令:
docker import econtainer.tar epower:latest

解釋:

  • econtainer.tar表示導入的容器;
  • epower:latest表示給導入后的鏡像進行重命名,latest表示給導入的鏡像打tag;

使用docker images命令可以查看是否導入成功,導入成功就可以根據鏡像運行容器;

3.總結

  • 鏡像導入是一個復制的過程;容器的導入是將當前容器變成一個新的鏡像;
  • docker save命令保存的是鏡像;docker export命令保存的是容器;
  • export命令導出的tar文件略小于save命令導出的;
  • export命令導出的是容器,export導出的文件在import導入時,無法保留鏡像的所有歷史(即每一層layer信息),也就不能進行回滾操作。而save命令導出的是鏡像,所以導入時可以完整保留每一層layer信息。docker history 鏡像id命令可以查詢每一層layer信息。
  • load命令不能對鏡像重命名;import命令可以對鏡像重命名;

4.使用建議

如果只是為了備份鏡像,則使用save和load命令;

如果在啟動容器后,容器內容有變化之后需要備用,則使用export和import命令;

5.遇到問題

  • 問題:

在使用export命令導出容器,import導入為鏡像后,使用命令

docker run -p 8812:8889 --name xxx -d 753 啟動容器失敗,

報錯如下:

docker: Error response from daemon: No command specified.

See 'docker run --help'.

錯誤提示缺少明確的命令;

  • 解決方法:

在導出容器的服務器使用docker ps --no-trunc命令查看具體的command,然后將command加入到啟動命令最后即可。

docker run -p 8812:8889 --name xxx -d 753 /bin/sh -c 'java -Duser.timezone=Asia/Shanghai -cp /app/resources:/app/classes:/app/libs/* com.fp.epower.EpowerApplication'

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Docker實現掛載的方式匯總

    Docker實現掛載的方式匯總

    Docker實現掛載有多種方式,下面給大家分享Docker實現掛載常見方式,感興趣的朋友跟隨小編一起看看吧
    2023-11-11
  • Docker中使用Redis配置文件的詳細指南

    Docker中使用Redis配置文件的詳細指南

    在現代軟件開發(fā)中,Redis 因其高性能和低延遲的特性,被廣泛用作數據結構服務器和消息代理,Docker 作為一個輕量級的容器化平臺,使得部署和管理 Redis 變得更加簡單和高效,本文給大家介紹了Docker中使用Redis配置文件的詳細指南,需要的朋友可以參考下
    2024-11-11
  • 如何解決docker logs無法實時輸出腳本打印的內容

    如何解決docker logs無法實時輸出腳本打印的內容

    這篇文章主要介紹了如何解決docker logs無法實時輸出腳本打印的內容問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 聊聊docker?單機部署redis集群的問題

    聊聊docker?單機部署redis集群的問題

    這篇文章主要介紹了docker?單機部署redis集群,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • Docker 網絡模式(四種)詳細介紹

    Docker 網絡模式(四種)詳細介紹

    這篇文章主要介紹了Docker 網絡模式詳細介紹的相關資料,這里提供了四種網絡模式的介紹,Docker 作為輕量級容器技術,很多比較不錯的功能,網絡不是多好,這里就整理下,需要的朋友可以參考下
    2016-11-11
  • 基于安裝docker desktop失敗的解決方案

    基于安裝docker desktop失敗的解決方案

    這篇文章主要介紹了基于安裝docker desktop失敗的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Docker添加tomcat容器無法訪問首頁解決方案

    Docker添加tomcat容器無法訪問首頁解決方案

    這篇文章主要介紹了Docker添加tomcat容器無法訪問首頁解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • docker環(huán)境下數據庫的備份(postgresql, mysql) 實例代碼

    docker環(huán)境下數據庫的備份(postgresql, mysql) 實例代碼

    這篇文章主要介紹了docker環(huán)境下數據庫的備份(postgresql, mysql) ,需要的朋友可以參考下
    2019-05-05
  • Docker端口映射的實現

    Docker端口映射的實現

    這篇文章主要介紹了Docker端口映射的實現,詳細的介紹了五種端口的映射方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • Docker如何制作自己鏡像并上傳dockerhub

    Docker如何制作自己鏡像并上傳dockerhub

    這篇文章主要介紹了Docker如何制作自己鏡像并上傳dockerhub,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11

最新評論