docker部署項目,對鏡像,容器的操作


服務器上的項目訪問不了,所以我去看了看容器,果然

那我就刪除容器唄 :docker rm 容器id

docker rm f097e24a9a0f

說明:從鏡像到容器,同一個鏡像構建多個運行的 Docker 實體——容器,鏡像提供了容器運行時所需的程序、庫、資源、配置等文件,還包含了一些為運行時准備的一些配置參數。鏡像是一個靜態的概念,鏡像不包含任何動態數據,其內容在構建之后也不會被改變。

可以去看看鏡像

 可以看到倉庫,標簽,ID,創建時間和大小

從一個鏡像運行一個包含一個主進程進程的容器命令:docker run -ti --name mall_mall-portal_1 mall/mall-portal:1.0-SNAPSHOT bash

命令解釋

  • Docker run 是從一個鏡像運行一個容器的指令。
  • -ti 參數的含義是:terminal interactive,這個參數可以讓我們進入容器的交互式終端。
  • --name 指定容器的名字,后面的 mall_mall-portal_1就是我們給這個容器起的名字。
  • mall/mall-portal:1.0-SNAPSHOT 是致命從哪個鏡像運行容器,mall/mall-portal是倉庫名,1.0-SNAPSHOT是標簽。
  • bash 指明我們使用 bash 終端。

終端:

  1. 終端,即所謂的命令行界面,又稱命令終端,用戶輸入shell命令用的窗口,跟Windows里的DOS界面差不多。

  2. shell,Shell就是用戶和操作系統之間的殼,中介,GUI和CLI都算是Shell,登陸終端可以是登陸了Bash也可能是Csh或者Dash;是操作系統與用戶交互用的接口,在命令終端里可以使用shell。shell將用戶輸入翻譯為操作系統能處理的指令。shell提供了一些內置命令,也支持調用外面工具。

  3. dash,是ubuntu里默認的shell。shell有好多種,除支持默認的POSIX標准外還支持不同的擴展語法,目前最常用的是bash,很多shell學習的教程都是針對bash的。dash除了不支持數組外,其實和bash差別也不大。ubuntu里可以將默認shell由dash改為bash。

docker ps -a再次查看

容器已經創建了,但是還是

這我就不服了,刪鏡像,再次重新弄

刪除鏡像之前,要刪除容器才可以刪除鏡像

查看鏡像:
docker images

查看容器:

docker ps -a

發現已經刪除了容器和鏡像

現在重新導入鏡像

在項目的pom.xml加入類似的

執行操作

查看的導入鏡像

再次執行

再次查看

我靠,我要炸了

 重振“熊”心

查看日志

找到錯誤信息

這就奇怪了,我項目運行是沒有報錯的

錯誤信息:

無法解析值“$accesskeyid”中的占位符“accesskeyid”

第一時間想到的是多個properties文件造成的,但是項目在瀏覽器運行沒有出錯,可以注冊,說明它是可以讀取的

項目目錄:

 后面想到可能是服務器讀取不到resources中的屬性文件,導致讀取不到accessKey.properties中的accessKeyId的

用個死辦法,將accessKey.properties中的accessKeyId的數據取出來寫死到業務上在重新上傳鏡像導入容器

可以看到容器創建了

讓所有項目關掉重新啟動

錯誤信息:無法為服務商城門戶創建容器:b'沖突。集裝箱名稱“89F8C97537EBA05840BB0809441E4F16BC3875F0124309088EB771C0D9EE039”已被集裝箱“89F8C97537EB05840BB0809441E4F16BC3875F0124309088EB771C0D9EE039”使用。您必須刪除(或重命名)該容器才能重用該名稱。”

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM