一、前言
本来想写部署项目到阿里云服务器,但是我的一核2G内存的云服务器实在是不够看。所以本次项目是部署到本机linux中。
本次的项目是提前已经准备好elasticsearch6.4.2,nacos1.3.1,安装不再赘述。
二、docker配置
1.修改docker配置
在docker.service文件中添加
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock
这样,就可以使用2375端口访问docker了
2.使用idea插件连接docker
在plugs中查找docker并安装。
3.编写Dockerfile
FROM hub.c.163.com/library/java:latest
VOLUME /tmp
ADD target/blog_server.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
4.maven配置docker插件
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<executions>
<execution>
<id>build-image</id>
<phase>package</phase>
<goals>
<goal>build</goal>
</goals>
</execution>
</executions>
<configuration>
<!--配置主机地址,即linux服务器的地址-->
<dockerHost>http://127.0.0.1:2375</dockerHost>
<imageName>sustly/${project.artifactId}</imageName>
<imageTags>
<imageTag>${project.version}</imageTag>
</imageTags>
<forceTags>true</forceTags>
<dockerDirectory>${project.basedir}</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
5.package
在maven中,点击package,就可以看见开始打包。在docker查看:
使用docker run 命令即可。
三、遇到的问题
1.莫名其妙的报错
以及mysql连接,es连接问题。
如果你的elasticsearch以及mysel都是安装在docker中的话,必须使用内网地址连接,不能用localhost和127.0.0.1,否则会报错。
四、地址
我的项目地址:https://github.com/sustly/blog_vue_server/tree/springcloud_alibaba
注意是springcloud_alibaba分支,springcloud_netflix是已经完善的