1.首先是在官网下载Docker Desktop,这个就不多介绍了小伙伴可以自行百度
2.在docker安装完成后检查虚拟化是否开启
3.然后再是进入电脑的控制面板->程序->启用或关闭Windows功能->把Hyper-v勾上,启用后电脑会重启,然后把适用于linux的windows的子系统也勾选上。
4.电脑重启,进入你安装好的 Docker Desktop再设置一下,把这些也勾选上
5. 接下来正式进入springboot的部署,首先在springboot项目的pom.xml文件中添加Docker镜像名称
<properties>
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
6.在plugin中添加docker构建插件
<!-- Docker maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>parkingapron</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<dockerHost>http://localhost:2375</dockerHost>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
<dependencies>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
</dependencies>
</plugin>
<!-- Docker maven plugin -->
<imageName> 这个就是镜像名称,必须要全小写,我写的是我的项目名称
<dockerHost>这个是docker的地址
7.然后我们需要在java的同级目录main下面建一个docker文件夹并编写Dockerfile文件,Dockerfile相当于说明书,告诉docker容器应该如何运行项目,规定项目运行的一些规则
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD EFParkingApron.jar /app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
EXPOSE 8080
FROM:表示基础镜像,即运行环境 jdk8
VOLUME:一个特别指定的目录,用于存储数据,该命令的作用是在/var/lib/docker创建一个名为tmp的目录,在开启redis服务时,需要特别指定redis的数据存储在哪个文件夹,此时这个命令就十分有用
ADD:拷贝文件并且重命名,这个放你们自己项目的名字,
EXPOSE:并不是真正的发布端口,这个只是容器部署人员与建立image的人员之间的交流,即建立image的人员告诉容器布署人员容器应该映射哪个端口给外界
ENTRYPOINT:容器启动时运行的命令,相当于我们在命令行中输入java -jar xxxx.jar,为了缩短 Tomcat 的启动时间,添加java.security.egd的系统属性指向/dev/urandom作为 ENTRYPOINT
8.在docker上安装mysql
cmd命令提示符进入
dockers pull mysql
mysql运行命令
docker run -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
在后台启动mysql,并将密码设置为123456,如果我们本机上运行了mysql,可以将上述的-p参数改为3307:3306,-p表示端口映射,冒号左边为docker容器外的端口号,右边为容器内的端口号,-d表示后台运行 docker表示REPOSITORY的值
然后命令查看正在运行的容器,
docker ps
然后以此安装项目中需要的redis等等,这些都安装完成后,再到咱们的yml里面修改配置文件
把你的redis端口号改成docker的外部暴露端口号,我的改为了6380,然后数据库地址也要改,改为你的ip地址加端口号我的端口号改为了3307,上面灰色的就是开始服务器的地址
你可以用Navicat可视化工具连接你的docker里面的mysql,把你的sql文件导入进去,
这些你都做好后,你可以打包部署了,首先clean,package,然后再docker:build
然后你就可以看到你的docker小鲸鱼有你部署的东西
然后点进去可以看到你的项目正在运行 ,以上就是windows的docker部署springboot项目,这也是我自己摸索两天玩明白的,里面还有很多细节没讲到,兄弟们按照这个步骤肯定是可以的,记录一下。