国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 操作系統 > 正文

Docker:鏡像操作和容器操作

2024-06-28 14:33:01
字體:
來源:轉載
供稿:網友

鏡像操作

列出鏡像:

$ sudo docker imagesREPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZEhello-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 28012v1 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 0ac5b09d8536Deleted: 0ac5b09d8536832e73c10e39bfda2e94781e07ebe47a206ea1c20f3f672f258aDeleted: efbb515ae632b8ba4b8536c1eadcf1304d915c076fcadbc8c2cb6f8f2ab82013Deleted: 5e59ab4801348d2d951c93373151bf0b4059c30bb1b58af4ce5e390114e83e1cDeleted: be10ee96620dd1cb4bae39bb0351f241eed25b086e0c90a907a29eef2af41b34

 

提交修改的容器,并生成新的鏡像

當對現有容器進行修改后,例如安裝了某些軟件、修改了配置等,要保存當前修改并生成新的鏡像,使用docker commit命令 ,這個命令和git的commit命令很像

# -a:修改者信息 -m:注釋、說明  緊跟著當前操作的容器id   最后是要生成的新的鏡像名稱
sudo
docker commit -a "fengzheng" -m "this is a commit message" ae2a59b86dd9 fengzheng/ubuntu085243761c41ae58e92ba855539460b7342a5cd31b44b51a71c654bb8f823c10

查看鏡像的信息:docker inspect [鏡像名稱或者鏡像id]

sudo docker inspect fengzheng/ubuntu或者sudo docker inspect 085243761c41

 

容器操作

新建并啟動容器

根據一個鏡像可以啟動多個容器,啟動容器的命令是docker run

sudo docker run -t -i ubuntu:12.04  /bin/bash或者sudo docker run -t -i  鏡像id

常用參數解釋:

-t 表示讓Docker分配一個偽終端并綁定到容器的標準輸入上

-i 表示讓容器的標準輸入保持打開

-d 表示以守護方式打開(即非交互模式,后臺運行)

還有一個比較常用的,做網絡配置時端口映射的參數-p,例如下面的命令將宿主機的3222端口映射到容器的22端口、將宿主機的3280端口映射到容器的22端口,用法如下:

#-p 設置端口映射 -p 宿主機端口:容器端口  
sudo docker run -t -i -p 3222:22 -p 3280:80 87e5b6b3ccc1 /bin/bash

查看容器列表

#查看已啟動的容器sudo docker ps #查看所有容器sudo docker ps -a  

啟動一個已存在的容器  

#后面的id為容器ID
sudo docker start 8d98fd43acd4

進入容器  

sudo docker attach 8d98fd43acd4

停止容器

sudo docker stop 8d98fd43acd4

刪除容器

容器必須是停止狀態的才可以刪除

sudo docker rm 8d98fd43acd4

導出容器

#將容器id為7691a814370e 的導出到當前目錄下 名稱為ubuntu.tarsudo docker export 7691a814370e > ubuntu.tar

導入容器  

 

  

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝山区| 巴青县| 宜都市| 通江县| 谢通门县| 广安市| 石景山区| 铁岭市| 怀集县| 乃东县| 额济纳旗| 旬阳县| 静乐县| 仙游县| 新邵县| 沈丘县| 金华市| 林口县| 通渭县| 新宁县| 柞水县| 衡水市| 汶川县| 阿勒泰市| 望江县| 浦县| 论坛| 遂宁市| 河东区| 巴青县| 龙川县| 南澳县| 阳新县| 通榆县| 微博| 聊城市| 雷山县| 奉新县| 永顺县| 那坡县| 通许县|