這篇博客的目的:
項目可以快速的生成鏡像,並能快速發布到docker容器,可以將生成的鏡像供其他人員pull.
寫這篇博客的背景:
手上的項目的微服務的,測試環境部署用的也是docker,就尋思着有木有可以點點點就可以發布到測試服的工具,網上搜了下大多數是介紹docker-maven插件的,有兩種
- docker-maven-plugin
- dockerfile-maven-plugin
前者太舊了,推薦dockerfile開頭的插件,我的電腦又是windows,裝有虛擬機VMware,里面有docker,並不想安裝exe的docker,按照網上所謂的教程,搞了半天,一頭霧水,目的也沒有達到,就此作罷,也許這兩個插件的確很棒,我不太會用,下面介紹的是我自己一步步探索出來的方式。
一、安裝docker
1.1、Centos7安裝docker
https://www.cnblogs.com/geekdc/p/11173602.html
1.2、docker配置阿里雲鏡像加速
https://www.cnblogs.com/geekdc/p/11173671.html
1.3、docker開通2375端口
作用:對外暴漏docker api,使外部插件可以跟daemon交互,完成鏡像的制作以及容器的運行等
vim /usr/lib/systemd/system/docker.service #后面加上 -H tcp://0.0.0.0:2375

systemctl daemon-reload
systemctl start docker

二、IDEA中安裝docker插件以及配置
提示:這里有個很大的坑,跟idea的版本有關,我的2018.2.x版本,報Required Email這個錯,不得不更換IDEA的版本為2019.3.5

2.1、配置docker插件TCP

2.2、配置阿里雲鏡像倉庫地址
dockerfile生成的鏡像,需要push到遠程倉庫保存,由於dockerhub訪問速度太慢,所以這里使用阿里雲提供的鏡像倉庫.
2.2.1、新增命名空間和鏡像倉庫
地址:
https://cr.console.aliyun.com/cn-hangzhou/instances/namespaces ,按照提示創建完后,會有一個用戶名和秘密,下文要用到。
添加一個命名空間為duchong

2.2.2、新增阿里雲倉庫鏡像repo
由於是本地提交,選擇倉庫類型為本地倉庫提交


列表中點擊 管理 按鈕 ,可以看到三個地址,格式為:域名+命名空間+倉庫名,然后復制公網地址。
registry.cn-hangzhou.aliyuncs.com/duchong/demo-repo

2.2.3、docker 插件中配置阿里雲鏡像倉庫地址


三、新建docker-demo 項目
3.1、項目結構

3.2、Dockerfile
#依賴jdk8 FROM java:8 #維護者信息 MAINTAINER duchong 1427222829@qq.com #容器卷 VOLUME /tmp #拷貝jar包 COPY target/docker-demo-0.0.1-SNAPSHOT.jar /docker-demo.jar #暴漏端口 EXPOSE 8080 #容器啟動時執行 ENTRYPOINT [ "java", "-jar", "/docker-demo.jar" ]
3.3、生成鏡像





docker images

3.4、創建容器並啟動

RUN后,生成容器,還可以看到啟動日志

docker ps 查看

四、推送鏡像到阿里雲鏡像倉庫


五、從阿里雲鏡像倉庫pull
刪除本地的image,然后從遠程倉庫pull


pull 完成后,創建容器

Run后
六、瀏覽器訪問


代碼已上傳:---》傳送門
