個(gè)人興趣圖片集網(wǎng)站建設(shè)b站推廣鏈接
大家好,上一個(gè)系列我們使用docker安裝了一系列的基礎(chǔ)服務(wù),但在實(shí)際開發(fā)過程中這樣一個(gè)個(gè)的安裝以及繁雜命令不僅僅浪費(fèi)時(shí)間,更是容易遺忘,下面我們進(jìn)行Docker的進(jìn)階教程,幫助我們更快速的部署和演示項(xiàng)目。
一、什么是Dockerfile?
Dockerfile 是一個(gè)文本文件,其中包含了一系列指令,用于自動(dòng)化創(chuàng)建 Docker 鏡像的過程。通過Dockerfile,你可以定義應(yīng)用程序的環(huán)境,包括所需的軟件、庫和依賴項(xiàng)。簡(jiǎn)單的說就是把我們的安裝一個(gè)基礎(chǔ)服務(wù)的所有操作命令都編排在一個(gè)文件里,包含了拉取鏡像,環(huán)境變量設(shè)置,容器啟動(dòng)等等一系列的操作。
二、如何使用Dockerfile?
2.1 Dockerfile文件解讀
下面是一個(gè)簡(jiǎn)單的springboot項(xiàng)目的Dockerfile文件
# 使用官方Java運(yùn)行環(huán)境作為基礎(chǔ)鏡像
# 命令解釋:如果本地沒有openjdk:8-jre鏡像 則會(huì)自動(dòng)從遠(yuǎn)程鏡像倉庫拉取鏡像
FROM openjdk:8-jre# 設(shè)置docker容器內(nèi)jar工作目錄
# docker容器內(nèi)部的jar工作目錄 也就是jar將部署在這個(gè)目錄下 并非宿主機(jī)中的文件目錄
WORKDIR /kim# 暴露docker容器內(nèi)9200端口
EXPOSE 9200# 設(shè)置容器時(shí)區(qū)
ENV TZ=Asia/Shanghai# 將你的jar包添加到容器中 將打包好的jar添加到容器中去
ADD kingoffice-auth.jar /kim/kingoffice-auth.jar# 聲明日志卷,容器內(nèi)應(yīng)用生成的日志將被存儲(chǔ)在這個(gè)位置
VOLUME /kim/logs# 設(shè)置容器啟動(dòng)時(shí)執(zhí)行的命令
ENTRYPOINT ["java", "-jar", "/kim/kingoffice-auth.jar"]
2.2 構(gòu)建鏡像
下面執(zhí)行 docker build
命令,運(yùn)行腳本文件,構(gòu)建鏡像,注意請(qǐng)?jiān)贒ockerfile同級(jí)目錄下執(zhí)行命令。
# 注意后面有一個(gè)"點(diǎn)"
docker build -t kingoffice-auth:1.0.0 .
docker build
:這是 Docker 的構(gòu)建命令,用于根據(jù)Dockerfile
中的指令創(chuàng)建 Docker 鏡像-t kingoffice-auth:1.0.0
:指定構(gòu)建的鏡像的名稱為kingoffice-auth,同時(shí)設(shè)置版本標(biāo)簽為 1.0.0.
:這個(gè)參數(shù)指定了Dockerfile
所在的路徑,.
表示當(dāng)前目錄。Docker 會(huì)在當(dāng)前目錄下尋找名為Dockerfi