一.服務器安裝docker
yum install docker
修改配置文件,打開2375端口
-
[root@microservice ~]# vim /usr/lib/systemd/system/docker.service
-
在ExecStart=/usr/bin/dockerd-current 后面加上-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
-
重新加載配置文件和啟動:
-
systemctl daemon-reload
-
systemctl start docker
-
-
附:docker操作相關命令
-
systemctl命令是系統服務管理器指令,它是 service 和 chkconfig 兩個命令組合。
-
啟動docker:systemctl start docker
-
停止docker:systemctl stop docker
-
重啟docker:systemctl restart docker
-
查看docker狀態:systemctl status docker
-
開機啟動:systemctl enable docker
-
更詳細的請參考:https://blog.csdn.net/linxiyimeng007/article/details/81080223
二、Idea安裝docker支持插件及配置
1.idea下載docker支持插件:Docker integration
(快捷鍵Crtl+shift+A 搜索Docker integration ,然后啟用,重啟idea生效)
2.IDEA Docker插件配置
File–>Settings–>Build,Execution,Deployment–>Docker–>進行如下配置:
tcp://服務器ip地址:2375
注意: 只要下面提示Connection successfl 就表示連接成功了;
3.配置pom文件:
-
<build>
-
<finalName>${project.artifactId}</finalName>
-
<plugins>
-
<plugin>
-
<groupId>org.springframework.boot</groupId>
-
<artifactId>spring-boot-maven-plugin</artifactId>
-
<configuration>
-
<fork>true</fork>
-
</configuration>
-
</plugin>
-
<!-- 跳過單元測試 -->
-
<plugin>
-
<groupId>org.apache.maven.plugins</groupId>
-
<artifactId>maven-surefire-plugin</artifactId>
-
<configuration>
-
<skipTests>true</skipTests>
-
</configuration>
-
</plugin>
-
<!--使用docker-maven-plugin插件-->
-
<plugin>
-
<groupId>com.spotify</groupId>
-
<artifactId>docker-maven-plugin</artifactId>
-
<version>1.0.0</version>
-
<!--將插件綁定在某個phase執行-->
-
<executions>
-
<execution>
-
<id>build-image</id>
-
<!--用戶只需執行mvn package ,就會自動執行mvn docker:build-->
-
<phase>package</phase>
-
<goals>
-
<goal>build</goal>
-
</goals>
-
</execution>
-
</executions>
-
<configuration>
-
<!--指定生成的鏡像名-->
-
<imageName>fred/${project.artifactId}</imageName>
-
<!--指定標簽-->
-
<imageTags>
-
<imageTag>latest</imageTag>
-
</imageTags>
-
<!-- 指定 Dockerfile 路徑-->
-
<dockerDirectory>src/main/docker</dockerDirectory>
-
<!--指定遠程 docker api地址-->
-
<dockerHost>http://服務器ip地址:2375</dockerHost>
-
<!-- 這里是復制 jar 包到 docker 容器指定目錄配置 -->
-
<resources>
-
<resource>
-
<targetPath>/</targetPath>
-
<!--jar 包所在的路徑 此處配置的 即對應 target 目錄-->
-
<directory>${project.build.directory}</directory>
-
<!-- 需要包含的 jar包 ,這里對應的是 Dockerfile中添加的文件名 -->
-
<include>${project.build.finalName}.jar</include>
-
</resource>
-
</resources>
-
</configuration>
-
</plugin>
-
</plugins>
-
</build>
附項目目錄結構:
四、根目錄下編寫Dockerfile
-
# Dockerfile
-
# 基於的鏡像
-
FROM openjdk:8-jdk-alpine
-
-
VOLUME /opt/tmp
-
-
ADD sg-business.jar app.jar
-
-
# -Djava.security.egd=file:/dev/./urandom 可解決tomcat可能啟動慢的問題
-
# 具體可查看:https://www.cnblogs.com/mightyvincent/p/7685310.html
-
ENTRYPOINT [ "java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
-
-
# 對外端口
-
EXPOSE 8081
五、點擊maven的package進行構建
構建成功的信息
六、點擊最下面的docker到docker界面,雙擊docker連上服務器docker會顯示出服務器上的docker鏡像,找到剛剛生成的鏡像(圖中2),點擊創建容器
7.配置docker 容器對外暴露端口和項目接口端口,然后run啟動容器
最后,設置好后,啟動容器,啟動成功后去阿里雲查看是否啟動成功
IDEA啟動,打開項目很慢很卡?正確配置內存讓IDEA起飛
用IDEA開發項目,默認情況下內存會分配比較小,所以打開程序或者打開稍微大一點的項目速度就會比較慢。我們可以修改idea的相關配置,來加速程序啟動和項目加載速度。
idea安裝以后的默認配置如下:
默認值設置太小,跑稍微大點的項目或者微服務多模塊項目就會出現卡的情況
我的內存是16g的,所以我可以給idea分配大一點的內存,配置如下:
這個參數根據個人電腦內存的大小合適的配置,大了小了都不好,找個合適的進行配置
個人建議8g內存配置:
-
-Xms512m
-
-Xmx1024m
-
-XX:ReservedCodeCacheSize=512m
-
-XX:+UseConcMarkSweepGC
-
-XX:SoftRefLRUPolicyMSPerMB=50
-
-ea
-
-Dsun.io.useCanonCaches=false
-
-Djava.net.preferIPv4Stack=true
-
-XX:+HeapDumpOnOutOfMemoryError
-
-XX:-OmitStackTraceInFastThrow
16g內存配置:
-
-Xms1024m
-
-Xmx2048m
-
-XX:ReservedCodeCacheSize=1024m
-
-XX:+UseConcMarkSweepGC
-
-XX:SoftRefLRUPolicyMSPerMB=50
-
-ea
-
-Dsun.io.useCanonCaches=false
-
-Djava.net.preferIPv4Stack=true
-
-XX:+HeapDumpOnOutOfMemoryError
-
-XX:-OmitStackTraceInFastThrow