Ubuntu 18.04.4 導入docker鏡像,啟動鏡像,保存容器為鏡像,導出鏡像


1.  查看  docker 版本

 

sudo docker version

 

 

 

 

 

 2. 查看本地庫中的鏡像  

sudo docker images

 

 

 

 

3.   查看  正在運行的  容器

sudo docker ps -a

 

 

 

 

 

 

 

4.   導入 鏡像的   tar 文件  到本地庫

sudo docker   load  -i  14.14.14.100_5000_pytorch_pytorch_1.1.0-cuda10-py36.tar

 

 

 

 

 

 

5.  再次查看庫中鏡像和運行的容器,發現庫中已有鏡像

 

 

 

 

 

 

 

6.    為庫中鏡像改名

 
docker tag {imageID} {repository}:{tag}

 

庫中鏡像:

 

 

鏡像改名:

 

 

 改名后,相同 ID 的鏡像會有兩個, 這時不能 用鏡像ID 來刪除鏡像,因為這時該鏡像有兩個引用(有了兩個名)。為防止一個鏡像多個名,我們可以設置相同的名但是不同的tag標簽, 也或者直接刪掉多余的命名和標簽,如下:

 

 

 

 

 

7.    根據庫中的鏡像運行容器:

 

sudo docker run -it      14.14.14.100:5000/pytorch/pytorch:1.1.0-cuda10-py36   /bin/bash

其中, 

    14.14.14.100:5000/pytorch/pytorch:1.1.0-cuda10-py36      為 容器名+容器tag



參數  -t  讓Docker分配一個偽終端並綁定在容器的標准輸入上,-i 讓容器的標准輸入保持打開。

使用docker run命令來啟動容器,docker在后台運行的標准操作包括
1.檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載
2.使用鏡像創建並啟動容器
3.分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀可寫層
4.從宿主主機配置的網橋接口中橋接一個虛擬接口道容器中去
5.從地址池分配一個ip地址給容器
6.執行用戶指定的應用程序
7.執行完畢之后容器被終止

說明來自: https://www.cnblogs.com/linjiqin/p/8608975.html

 

 

 

 

 

 

 

8.    在運行的容器中安裝軟件后, 將該容器保存為新的鏡像 

 查看需要保存為鏡像的容器信息

 

 根據容器ID 來保存容器為鏡像。

 

 

 具體命令:

docker commit 2ec7cf215b52 new_pytorch:v1

 

2ec7cf215b52 為容器的ID 
new_pytorch 為保存成鏡像的名
v1 為保存成鏡像的標簽

 

 

 

 

 

 

 

 9.   把庫中的鏡像保存到硬盤

查看庫中的鏡像

docker images

 

 

 

 

報庫中的鏡像導出到硬盤上:

docker save -o /tmp/new_pytoch:v1.tar new_pytorch:v1

 

 

 

成功導出:

 

 

 

 

 

 

 -----------------------------------------------------------------

 

附注(常用命令):

 

 

 

連接到某個正在運行的容器

 

docker attach $CONTAINER_ID

 

 

 

 

 

 

啟動某個已經停掉的容器     (  start 命令只能啟動一個已經停掉的容器  )

docker  start  $CONTAINER_ID

 

 

 

啟動某個容器     (  restart 命令可以重啟正在運行的容器,也可以啟動已經停掉的容器  )

docker   restart   $CONTAINER_ID

 

 

***  不論是  start命令還是restart 命令  啟動的容器如果有交互終端則只能通過  docker attach $CONTAINER_ID 進入 。

 

 

 

 

 

 

 

 

 

刪除docker中的鏡像

docker rmi 鏡像id

 

 

刪除docker中的容器

docker rm 容器id

 

 

 

查看當前正在運行的容器

docker ps

 

 

 

查看所有容器:(包括 正在運行的, 也包括退出的容器)

docker ps -a

 

 

 

注意, 在刪除某個鏡像之前要保證沒有使用該鏡像的容器(包括正在運行的容器,也包括退出的容器)。

因此,我們需要先刪除使用該鏡像的已退出的容器, 而對於正在運行的容器我們需要先停掉該容器,再刪除容器。當沒有使用該鏡像的容器存在的情況下,我們才能刪除該鏡像。

對於多鏡像 ID 相同的情況下,我們需要使用  鏡像名+鏡像標簽(tag) 來刪除鏡像。

 

 

 

 

 

 

 

 

參考資料:

https://blog.csdn.net/qq_26709459/article/details/80785761

 https://www.cnblogs.com/linjiqin/p/8608975.html

https://blog.csdn.net/x8h8kenan/article/details/80229279

 


免責聲明!

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



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