Docker是目前非常流行的一種容器化技術(shù),它能夠?qū)?yīng)用程序和所有依賴項(xiàng)打包在一個(gè)隔離的環(huán)境中,使得應(yīng)用程序能夠在不同的操作系統(tǒng)、不同的服務(wù)器上保持一致的運(yùn)行環(huán)境,并且能夠快速地部署和擴(kuò)展。在Docker中,鏡像是容器的基礎(chǔ),我們可以通過(guò)編寫(xiě)Dockerfile文件來(lái)創(chuàng)建一個(gè)原始鏡像。
FROM ubuntu:18.04 RUN apt-get update && apt-get install -y python3 python3-pip COPY . /app WORKDIR /app RUN pip3 install -r requirements.txt CMD ["python3", "main.py"]
以上是一個(gè)Dockerfile模板,用來(lái)描述如何構(gòu)建一個(gè)Python應(yīng)用程序的鏡像。其中FROM指令表示這個(gè)鏡像是基于Ubuntu 18.04的鏡像進(jìn)行構(gòu)建的。RUN指令表示我們要在容器中執(zhí)行一些命令來(lái)安裝Python3和Python3-pip,COPY指令將本地的應(yīng)用程序復(fù)制到容器中,在WORKDIR指定的/app目錄中進(jìn)行操作。最后通過(guò)RUN指令來(lái)安裝Python應(yīng)用程序所需的依賴,并通過(guò)CMD指定容器啟動(dòng)時(shí)運(yùn)行的命令。
使用Dockerfile來(lái)構(gòu)建一個(gè)原始鏡像非常簡(jiǎn)單,只需要在Dockerfile所在的目錄下執(zhí)行以下命令:
docker build -t myapp:1.0 .
其中-t參數(shù)用來(lái)指定鏡像的名稱和版本號(hào),.表示Dockerfile所在的當(dāng)前目錄。執(zhí)行完畢后,我們可以通過(guò)docker images命令來(lái)查看所有的鏡像:
REPOSITORY TAG IMAGE ID CREATED SIZE myapp 1.0 xxxxxxxxxxxx xx hours ago 1.2GB ubuntu 18.04 xxxxxxxxxxxx xx weeks ago 64.2MB
可以看到,我們成功地構(gòu)建了一個(gè)名為myapp:1.0的原始鏡像。這個(gè)鏡像包含了Python3和我們的應(yīng)用程序,可以被部署到任何支持Docker的服務(wù)器上。