歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> Docker:鏡像操作

Docker:鏡像操作

日期:2017/3/1 12:21:13   编辑:關於Linux
列出鏡像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6ba66e537a 4 weeks ago 960 B 獲取鏡像: docker系統鏡像可以從任意一個可訪問的鏡像倉庫獲取,默認從docker hub上獲取,如果下載太慢的話可以考慮國內的鏡像倉庫,例如dl.dockerpool.com:5000或者阿裡雲鏡像庫下載。 docker獲取鏡像用docker pull命令,如下: #從docker官方倉庫下載ubuntu12.04版本鏡像 sudo docker pull ubuntu:12.04 從dl.dockerpool獲取鏡像 sudo docker pull dl.dockerpool.com:5000/ubuntu:12.04 注意:從第三方鏡像倉庫獲取鏡像可能出現https證書問題,例如: Error response from daemon: unable to ping registry endpoint https://dl.dockerpool.com:5000/v0/ v2 ping attempt failed with error: Get https://dl.dockerpool.com:5000/v2/: tls: oversized record received with length 28012 v1 ping attempt failed with error: Get https://dl.dockerpool.com:5000/v1/_ping: tls: oversized record received with length 28012 解決方案: 進入/etc/default目錄,找到docker文件,在其中添加如下代碼: DOCKER_OPTS="--insecure-registry dl.dockerpool.com:5000" 之後重啟docker服務: sudo service docker restart 鏡像保存與導入 保存的文件以.tar方式存在 保存方式一:save save命令會將鏡像完整保存,包括歷史版本和元數據信息,所以文件可能比較大。 -o: 表示以文件的形式導出 緊跟在-o後面的是導出文件保存的位置 最後是鏡像(倉庫:TAG,或者鏡像id) sudo docker save -o /home/fengzheng/dockerImages/mmm.tar ubuntu:12.04 同樣用的是Ubuntu,在一台機器上正常,在另外一台機器上報如下錯誤,還沒有找到原因,希望有知道原因的朋友在評論裡指出,不勝感激。  Error response from daemon: open /var/lib/docker/aufs/mnt/30868777f2756735efc907c763555f869472d48ea92156c3c4b09ac22ec4adc6/.wh..wh.plnk/1003.3513973: operation not permitted 保存方式二:export 確切的說,export其實是容器的保存,只把鏡像當前的狀態保存下來,沒有歷史版本等信息,所有文件比較小 -o:表示以文件形式導出 緊跟在-o後面的是導出文件保存位置 最後是容器的id 容器通過sudo docker ps -a 查看,下一篇會介紹 docker export -o ubuntu1204.tar d0751467dcad 鏡像導入:docker load sudo docker load < /home/fengzheng/Docker/ubtuntu12.04.tar 鏡像刪除 刪除鏡像前,要先把依賴於這個鏡像的容器刪除(sudo docker rm 容器id) 刪除鏡像的命令是docker rmi [鏡像id] sudo docker rmi 0ac5b09d8536 Deleted: 0ac5b09d8536832e73c10e39bfda2e94781e07ebe47a206ea1c20f3f672f258a Deleted: efbb515ae632b8ba4b8536c1eadcf1304d915c076fcadbc8c2cb6f8f2ab82013 Deleted: 5e59ab4801348d2d951c93373151bf0b4059c30bb1b58af4ce5e390114e83e1c Deleted: be10ee96620dd1cb4bae39bb0351f241eed25b086e0c90a907a29eef2af41b34 提交修改的容器,並生成新的鏡像 當對現有容器進行修改後,例如安裝了某些軟件、修改了配置等,要保存當前修改並生成新的鏡像,使用docker commit命令 ,這個命令和git的commit命令很像 # -a:修改者信息 -m:注釋、說明 緊跟著當前操作的容器id 最後是要生成的新的鏡像名稱 sudo docker commit -a "fengzheng" -m "this is a commit message" ae2a59b86dd9 fengzheng/ubuntu 085243761c41ae58e92ba855539460b7342a5cd31b44b51a71c654bb8f823c10 查看鏡像的信息:docker inspect [鏡像名稱或者鏡像id] sudo docker inspect fengzheng/ubuntu 或者 sudo docker inspect 085243761c41
Copyright © Linux教程網 All Rights Reserved