上一篇咱们已经安装了Docker,但是还没用呢,先不说下载各种中间件并部署了,我先自己写个简单的SpringBoot程序并部署上去之后,再去下载其他的就会好很多。
我们利用idea 的docker插件来本地发布镜像。我用的是IntelliJ IDEA 2018.1。
首先前往https://start.spring.io/ 下载一个SpringBoot的初始项目,版本号什么的无所谓,我下载的是2.2.0版本的。
下载好之后解压,并用IDEA打开项目。
简单写个controller接口。
并且在application.properties 里修改端口号,如果你想用yml也是一样,我这里是修改为8080端口。
ok了,运行一下,看看是否报错,如果没问题的话,然后打开Terminal,用maven进行打包。
输入命令 mvn clean package
出现BUILD SUCCSEE之后 这一步就完成了,如下图:
之后在项目目录下会出现一个target文件夹,打开之后可以看到,里面有一个咱们这个项目已经打好的jar包,项目名可能不一样,都是自定义的,是pom.xml里写好的。大概就是如下图所示:
好了,项目咱们就完成了,接下来要下载插件了。
打开设置,按图搜索并安装。如果要是下载不下来呢,自己找找离线安装的办法,百度多得很。
安装好插件之后,可以点开进行设置,还是打开设置。
注意第五步是自动,我装的时候显示必须要https才可以连接成功,所以第四部的连接地址要用https开头。IP就是你本机的docker地址,我这个就是默认的。第五步显示success之后呢,插件就装完了,这时候左下角就会出来docker的小图片了,点开之后呢,就是咱们本机的docker,显示的明明白白的。
docker准备好了,那么现在还差最后一个东西,这个就是DockerFile,在target的同级目录下 创建这个文件。
之后呢输入以下内容
FROM java:8
VOLUME /tmp
ADD target/docker-0.0.1.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
FROM 意思就是基于java:8 jdk
VOLUME /tmp 是因为springboot默认用的tomcat,tomcat把项目jar、war包都会放在/tmp文件夹下,这里是做一个映射
ADD 这是执行命令,把咱们的jar包名字 改成app.jar 注意,这里的XXXX.jar要改成你的jar名字
ENTRYPOINT 就是完成后执行的命令 就是java -jar
ok以上呢咱们就基本完成了。接下来就是最后一步了,创建镜像并创建容器并且运行起来。
DockerFile那里就选择咱们刚写好的那个,第三步端口号一定要选好,这是docker和宿主机之间的端口映射,连接宿主机的8080端口,就相当于连接这个容器的8080端口。
第四步、是在每次发布之前重新用maven打下包,保证每次都是最新的代码。
好了,点OK 选择运行就行了。
日志出现这个
就说明成功了,点旁边的log 可以看到springboot的启动日志
好了,我们赶紧去浏览器输入网址试一试,输入 192.168.99.100:8080/hello
ok了,咱们的项目就部署到docker里了,很多人可能有疑问,不是说映射到本机吗,为什么不是localhost:8080/hello 呢?那是因为咱们用的windows系统,docker是运行再虚拟机里面的,虚拟机才是docker的宿主机。192.168.99.100就是咱们安装docker的虚拟机的ip。
好了win10如果用插件的话应该也是一样的。