思考:
1.Docker鏡像本質(zhì)是什么?
答:是一個分層文件系統(tǒng)。
2.Docker中一個centos鏡像為什么只有200MB吞滞,而一個centos操作系統(tǒng)的iso文件要幾個G?
答:Centos的iso鏡像文件包含bootfs和rootfs扁凛,而docker的centos鏡像復(fù)用了宿主機(jī)操作系統(tǒng)的bootfs忍疾,只有rootfs和其他鏡像層。
3.Docker中一個tomcat鏡像為什么有500多MB谨朝,而一個tomcat安裝包只有70多MB卤妒?
答:由于docker中鏡像是分層的,tomcat雖然只有70多MB字币,但他依賴于父鏡像和基礎(chǔ)鏡像则披,所以整個對外暴露的tomcat鏡像大小500多MB。
鏡像制作
1.容器轉(zhuǎn)為鏡像
docker commit 容器ID 鏡像名稱:版本號
2.對生成鏡像進(jìn)行文件壓縮
docker save -o 壓縮文件名稱 鏡像名稱:版本號
3.對壓縮鏡像進(jìn)行解壓
docker load -i 壓縮文件名稱
Dockerfile 關(guān)鍵字介紹
自定義centos7鏡像
需求:
1.默認(rèn)登錄路徑為/usr
2.可以使用vim
實(shí)現(xiàn)步驟:
1.定義父鏡像:FROM centos:7
2.定義作者信息:MAINTAINER IsMe
3.執(zhí)行安裝vim命令:RUN yum install -y vim
4.定義默認(rèn)的工作目錄:WORKDIR /usr
創(chuàng)建dockerfile文件
touch dockerfile
寫入構(gòu)建步驟
FROM centos:centos7
MAINTAINER IsMe <lionelove@qq.com>
RUN yum install -y vim
WORKDIR /usr
CMD /bin/bash
開始構(gòu)建鏡像
docker build -f ./dockerfile -t my_centos:7 .
#-f 構(gòu)建文件路徑
#-t 鏡像名稱:版本號
# . 當(dāng)前路徑