在docker使用過程中,我們可以從已經(jīng)創(chuàng)建的容器中更新鏡像,并且commit提交這個鏡像來創(chuàng)建新的鏡像,使用docker commit 來擴(kuò)展一個鏡像比較簡單,但是不方便在一個團(tuán)隊中分享此時我們可以使用 Dockerfile 指令來創(chuàng)建一個新的鏡像。
常用參數(shù):
FROM命令。用法,F(xiàn)ROM:。FROM命令告訴docker我們構(gòu)建的鏡像是以哪個(發(fā)行版)鏡像為基礎(chǔ)的
RUN命令。用法RUN。RUN 后面接要執(zhí)行的命令,比如,我們想在鏡像中安裝vim,只需在Dockfile中寫入RUN yum install -y vim
ENV命令。用法,ENV。ENV命令主要用于設(shè)置容器運行時的環(huán)境變量
ADD命令。用法,ADD。ADD主要用于將宿主機(jī)中的文件添加到鏡像中
先新建一個目錄和一個 Dockerfile文件
$ mkdir -p /root/software
$ cd /root/software
創(chuàng)建Dockerfile文件
$ vim Dockerfile
#FROM 指令告訴 Docker 使用哪個鏡像作為基礎(chǔ)
FROM ubuntu:16.04
#MAINTAINER指定作者
MAINTAINER test@test.com
#RUN用于執(zhí)行后面跟著的命令行命令
RUN apt-get install -y python3
RUN apt-get install -y python3-pip
RUN python3 -m pip install selenium
編寫完成Dockerfile后使用docker build來生成鏡像。
$ docker build -f Dockerfile -t ubuntu-py:v1 .
-f :指定要使用的Dockerfile路徑;
-t: 鏡像的名字及標(biāo)簽,通常 name:tag 或者 name 格式;
執(zhí)行docker build命令后,Dockerfile中的指令會被一條一條的執(zhí)行,每一步都創(chuàng)建了一個新的容器,在容器中執(zhí)行指令并提交修改。當(dāng)所有的指令都執(zhí)行完畢之后,返回了最終的鏡像 id。