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是已經完善的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章