您好,登錄后才能下訂單哦!
今天小編就為大家帶來一篇有關docker容器中鏡像操作方法的文章。小編覺得挺實用的,為此分享給大家做個參考。一起跟隨小編過來看看吧。
文章目錄
Centos7安裝docker
配置docker加速器
鏡像管理
通過容器創建鏡像
導入導出鏡像
Centos7安裝docker
下載阿里云提供的docker yum源:
[root@linux01 ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
1
安裝docker社區版(免費版):
[root@linux01 ~]# yum -y install docker-ce
1
啟動docker服務:
[root@linux01 ~]# systemctl start docker
1
查看docker版本信息:docker version
配置docker加速器外匯技術面www.gendan5.com/tech.html
配置加速器可以提升獲取Docker官方鏡像的速度,創建配置文件:
[root@linux01 ~]# vi /etc/docker/daemon.json
1
配置文件內容:
{
"registry-mirrors": ["https://jmnbijcd.mirror.aliyuncs.com"]
}
1
2
3
#該url為加速器地址,需要自行到阿里云—>容器鏡像服務—>加速器獲取
重啟docker服務:
[root@linux01 ~]# systemctl restart docker
1
鏡像管理
下載docker官方倉庫的centos鏡像:
[root@linux01 ~]# docker pull centos
1
查看本地的鏡像:
[root@linux01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
1
2
3
#從左到右分別為鏡像名、標簽、鏡像id、創建時間、大小
根據鏡像名稱搜索鏡像:
[root@linux01 ~]# docker search ubuntu
1
更改鏡像名:
[root@linux01 ~]# docker tag centos test
[root@linux01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
test latest 0f3e07c0138f 3 months ago 220MB
1
2
3
4
5
#更改鏡像名centos為test,會產生一個id相同但鏡像名不相同的鏡像
更改鏡像名并更改標簽:
[root@linux01 ~]# docker tag test abc:abc
[root@linux01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test latest 0f3e07c0138f 3 months ago 220MB
abc abc 0f3e07c0138f 3 months ago 220MB
centos latest 0f3e07c0138f 3 months ago 220MB
1
2
3
4
5
6
啟動鏡像:
[root@linux01 ~]# docker run -itd centos
af57114ec8a10c96b6301de65fb6d6e30a61fee19ef48676a15d736e83628264
1
2
#鏡像啟動后就變成了容器,-i表示讓容器的標準輸入打開,-t表示分配一個偽終端,-d表示后臺啟動,要把-i -t -d 放到鏡像名字前面
查看正在運行的容器:
[root@linux01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af57114ec8a1 centos "/bin/bash" 4 minutes ago Up 4 minutes charming_mclaren
1
2
3
#docker ps -a可以查看所有容器(包括未運行的)
刪除指定鏡像:
[root@linux01 ~]# docker rmi test
1
當鏡像標簽不是latest時,需要指定鏡像名以及標簽才可刪除:
[root@linux01 ~]# docker rmi abc:abc
1
#如果指定的是鏡像id而非鏡像名時,所有該id的鏡像都會被刪除
通過容器創建鏡像
使用docker run啟動鏡像后,即可指定容器id進入容器:
[root@linux01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
af57114ec8a1 centos "/bin/bash" 12 minutes ago Up 12 minutes charming_mclaren
[root@linux01 ~]# docker exec -it af57114ec8a1 bash
[root@af57114ec8a1 /]#
1
2
3
4
5
在容器中安裝任意服務后退出:
[root@af57114ec8a1 /]# yum -y install net-tools
[root@af57114ec8a1 /]# exit
[root@linux01 ~]#
1
2
3
將變更后的容器創建鏡像:
[root@linux01 ~]# docker commit -m "add net-tools" -a "root" af57114ec8a1 centos_net
sha256:f9dba795f88479c70133e18145ad5337c3199fe633523009a2bb84febf58d695
[root@linux01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_net latest f9dba795f884 8 seconds ago 261MB
centos latest 0f3e07c0138f 3 months ago 220MB
1
2
3
4
5
6
#新的鏡像創建成功,這個命令類似git、svn的提交,-m參數添加描述,-a參數指定操作者或是作者 af57114ec8a1這一串為容器id(通過docker ps獲取),再后面為新鏡像的名字
導入導出鏡像
導出鏡像:
[root@linux01 ~]# docker save -o centos_net.tar centos_net
1
#將centos_net鏡像導出為.tar文件
刪除centos_net鏡像:
[root@linux01 ~]# docker rmi centos_net
[root@linux01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 0f3e07c0138f 3 months ago 220MB
1
2
3
4
導入鏡像:
[root@linux01 ~]# docker load < centos_net.tar
45a8968b6423: Loading layer [==================================================>] 41.4MB/41.4MB
Loaded image: centos_net:latest
1
2
3
#導入鏡像的第二種方式:docker load --input centos_net.tar
查看鏡像是否導入成功:
[root@linux01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos_net latest f9dba795f884 31 minutes ago 261MB
centos latest 0f3e07c0138f 3 months ago 220MB
關于docker容器中鏡像的操作方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果喜歡這篇文章,不如把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。