windows10上安装docker,在docker中部署springboot项目

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项目,这也是我自己摸索两天玩明白的,里面还有很多细节没讲到,兄弟们按照这个步骤肯定是可以的,记录一下。

猜你喜欢

转载自blog.csdn.net/m0_61367109/article/details/123631038