Docker導入容器快照,執行報錯:docker: Error response from daemon: No command specified.


問題現象

通過docker export 導出容器快照:

1 docker export nginxDockerfileCopy > nginxDockerfileCopy.tar

在當前操作路徑下查看:已生成:

 

 

 然后通過docker import將導出的壓縮包,導入為鏡像:

1 cat exportContainerSnapshot/nginxDockerfileCopy.tar | docker import - username/nginx-importsnapshot

查詢可以看到已經生成鏡像:

 

接下來docker run運行鏡像生成容器:

1 docker run --name testImportSnapshot -p 8084:80 -d username/nginx-importsnapshot

報錯:

 

 

 解決方法:------------------------

根據提示信息,需要指定命令。所以,嘗試在docker run 后面加上命令:

1 docker run --name nginxDockerfileCopy -p 8093:80 -d username/nginx-dockerfilecopy /bin/bash

執行成功,不再報錯。但是訪問nginx,卻訪問不通。

查詢容器狀態,發現容易已經停止。雖然執行中加了-d后台執行的參數,還是自動停止了。看來/bin/bash命令不能滿足啟動nginx的需求。

因為這是從容器“nginxDockerfileCopy”中導出的快照,所以,我查了一下“nginxDockerfileCopy”的COMMAND參數:

 

 

 參考以上COMMAND,將run命令修改為:

docker run --name testImportSnapshot -p 8094:80 -d username/nginx-importsnapshot nginx -g 'daemon off;'

此時,查看容器狀態:

 

 容器在啟動狀態中。

瀏覽器中訪問:http://localhost:8094/index.html  可以看到nginx頁面。

訪問:http://localhost:8094/haha.html 這是從容器“nginxDockerfileCopy”中導出時,里面已有的可訪問頁面。也可以正常訪問。

說明此次容器快照導出、導入生成新鏡像,新鏡像執行生成容器,容器具有導出之前一樣的功能。

 


免責聲明!

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



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