Java Spring Boot 2.0 实战之制作Docker镜像并推送到Docker Hub和阿里云仓库
內(nèi)容摘要:大規(guī)模集群快速部署Java應(yīng)用,需要制作Docker鏡像,本次課程詳細(xì)介紹如何制作Java程序的Docker鏡像文件,深入解析DockerFile核心參數(shù),以及實(shí)踐演練把我們制作的Docker鏡像推送到DockerHub倉庫,國內(nèi)可以使用阿里云Docker倉庫加速,以及安全保護(hù)機(jī)制。
今天我們都來實(shí)戰(zhàn)Java Spring Boot 2.0,制作Java Docker鏡像,然后推送到DockerHub和阿里云Docker倉庫,推送到公共鏡像倉庫的原因是便于后期大規(guī)模服務(wù)器集群部署。
1、Docker安裝
如果你不熟悉安裝,可以參考這個(gè)文章 《Java Spring Boot 2.0實(shí)戰(zhàn)Docker容器與架構(gòu)原理,視頻與課件,基于Linux環(huán)境》https://yq.aliyun.com/articles/691596
Mac可以參考《Mac OS安裝Docker容器的3種方式與差別:Docker for Mac》https://yq.aliyun.com/articles/692030
2、創(chuàng)建Java程序,為了制作Docker鏡像
基于Maven構(gòu)建Spring Boot 2.0鏡像文件,可以參考前面文章。
非常簡單的Java代碼,輸出字符串信息。可以使用Eclipse工具編寫。
保存為JavaDocker.java文件。
3、制作Java 原始的Docker鏡像
這里還沒有使用maven 項(xiàng)目,Maven有Docker插件,可以更方便的構(gòu)建鏡像。上一篇文章里講過了。
會(huì)看到日志信息
Sending build context to Docker daemon 3.072kB Step 1/5 : FROM java:8---> d23bdf5b1b1b Step 2/5 : COPY . /var/test/java---> Using cache---> b21b800e13a1 Step 3/5 : WORKDIR /var/test/java---> Using cache---> 1926e9870140 Step 4/5 : RUN javac JavaDocker.java---> Using cache---> 8fad6e1451df Step 5/5 : CMD ["java", "JavaDocker"]---> Using cache---> 0d18c8ddf582 Successfully built 0d18c8ddf582 Successfully tagged java-docker-hello-world:latestDocker會(huì)生產(chǎn)一個(gè)鏡像文件。docker images 查看鏡像信息
4、注冊(cè)DockerHub或者阿里云Docker倉庫
國外可以在DockerHub注冊(cè)鏡像倉庫,https://hub.docker.com。
國內(nèi)可以選擇阿里云Docker倉庫https://cr.console.aliyun.com,
都是免費(fèi)的服務(wù)器,阿里云和Docker官方合作,公益事業(yè),同步官方的全部鏡像,免費(fèi)給國內(nèi)開發(fā)者使用。
企業(yè)在國內(nèi)大規(guī)模部署Docker鏡像服務(wù)器是不錯(cuò)的選擇。
創(chuàng)建倉庫,并指定命令空間,后面向某個(gè)倉庫提交鏡像,實(shí)際里面很多官方鏡像,我們可以直接搜索下載,也可以自己提交鏡像。
5、推送鏡像到DockerHub或者阿里云Docker倉庫
在倉庫創(chuàng)建完成以后,可以在本地推送制作好的鏡像了。
第一次連接DockerHub或者阿里云Docker倉庫,都需要登陸Login,輸入一次用戶名和密碼即可,緩存起來。Mac版本的Docker一樣的。
我們這里使用的是Linux環(huán)境作為測(cè)試。
顯示已經(jīng)推送完成。
6、登陸DockerHub查看鏡像是否成功
DockerHub網(wǎng)頁版進(jìn)入鏡像倉庫,可以看到剛才推送的鏡像文件。
可以看到我們推送的鏡像已經(jīng)進(jìn)入了DockerHub鏡像倉庫。
進(jìn)行大規(guī)模部署的時(shí)候,每個(gè)服務(wù)器上的Docker客戶端可以搜索我們的鏡像,然后執(zhí)行下載和運(yùn)行命令。就可以實(shí)現(xiàn)快速大規(guī)模部署工作。
后期我們可以增進(jìn)K8S和Docker結(jié)合實(shí)戰(zhàn)的工作。
《第17課:Spring Boot 2.0實(shí)戰(zhàn)Docker容器與架構(gòu)原理》資料:
視頻: https://yq.aliyun.com/live/880
PPT:https://yq.aliyun.com/live/880
《第18課:Java實(shí)戰(zhàn)制作Docker鏡像并推送到DockerHub與阿里云鏡像倉庫》資料:
視頻: https://yq.aliyun.com/live/906
PPT:https://yq.aliyun.com/live/906
阿里巴巴Java群超過3000人
直播地址:Java技術(shù)進(jìn)階群
進(jìn)群方式:釘釘掃碼入群
阿里巴巴MongoDB群
總結(jié)
以上是生活随笔為你收集整理的Java Spring Boot 2.0 实战之制作Docker镜像并推送到Docker Hub和阿里云仓库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Leetcode03
- 下一篇: 基于区块链交易技术开发的证券