使用docker插件部署应用,看完这一篇就够了

这篇博客的目的:

项目可以快速的生成镜像,并能快速发布到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 1428888829@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后

 六、浏览器访问

代码已上传:---》传送门

 

posted @ 2020-08-18 19:42  npe0  阅读(3482)  评论(2编辑  收藏  举报