零、學(xué)習(xí)內(nèi)容
- 鏡像結(jié)構(gòu)
- Dockerfile 語(yǔ)法
- 構(gòu)建 Java 項(xiàng)目
① 之前使用的鏡像都是 DockerHub 官方提供的
② 開(kāi)發(fā)者需要將自己的微服務(wù)制作為鏡像
一、鏡像結(jié)構(gòu)
鏡像是由應(yīng)用程序及其需要的系統(tǒng)函數(shù)庫(kù)、環(huán)境、配置、依賴打包而成。
?? 鏡像是分層結(jié)構(gòu),每一層稱為一個(gè) Layer
1?? BaseImage 層:包含基本的系統(tǒng)函數(shù)庫(kù)、環(huán)境變量、文件系統(tǒng)
2?? Entrypoint:入口,是鏡像中應(yīng)用啟動(dòng)的命令
2?? 其它:在 BaseImage 基礎(chǔ)上添加依賴、安裝程序、完成整個(gè)應(yīng)用的安裝和配置
二、Dockerfile
?? Dockerfile 是一個(gè)文本文件
?? 其中包含很多指令 (Instruction)
?? 可通過(guò)指令來(lái)說(shuō)明要執(zhí)行什么操作來(lái)構(gòu)建鏡像
?? 每一個(gè)指令都會(huì)形成一層 Layer
Dockerfile 官方文檔:https://docs.docker.com/engine/reference/builder
四、基于 java:8-alpine 構(gòu)建自己的 Java 項(xiàng)目鏡像
?? 1、新建空文件夾 docker-demo
mkdir docker-demo
?? 2、把 Java 項(xiàng)目的 jar 文件上傳到 docker-demo
目錄中
?? 3、把 jdk8.tar.gz 文件上傳到 docker-demo
目錄中(安裝 jdk)
?? 4、把 Dockerfile 文件上傳到 docker-demo
目錄中
# 指定基礎(chǔ)鏡像
FROM java:8-alpine
# 拷貝jdk和java項(xiàng)目的包
COPY ./Morning.jar /tmp/app.jar
# 暴露端口
EXPOSE 8090
# 入口,java項(xiàng)目的啟動(dòng)命令
ENTRYPOINT java -jar /tmp/app.jar
?? 5、利用 Dockerfile 文件構(gòu)建鏡像
?? 6、通過(guò)鏡像創(chuàng)建容器文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-436841.html
docker run --name javaweb -p 8090:8090 -d javaweb:1.0
記得防火墻開(kāi)啟端口或安全組文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-436841.html
到了這里,關(guān)于【Docker】5、Dockerfile 自定義鏡像(鏡像結(jié)構(gòu)、Dockerfile 語(yǔ)法、把 Java 項(xiàng)目弄成鏡像)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!