Bootstrap

springcloud全家桶个人博客系统(七)使用docker部署项目到服务器

一、前言

本来想写部署项目到阿里云服务器,但是我的一核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是已经完善的

;