idea集合docker实现镜像打包一键部署
一.服务器安装docker
yum install docker
修改配置文件,打开2375端口
- [ ~]# 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
相关推荐
魅惑青花瓷 2020-11-11
yangkang 2020-11-09
MichaelJScofield 2020-11-06
TaoTaoFu 2020-11-06
liaochaowu 2020-11-16
ChlatZed 2020-11-11
lnkToKing 2020-10-29
ChlatZed 2020-10-27
ChlatZed 2020-10-13
时光流水 2020-09-23
yangkang 2020-09-23
changecan 2020-09-22
dusuanyun 2020-09-21
newisI 2020-09-01
liaochaowu 2020-09-14
ShangQuan0 2020-09-10
fearlessxjdx 2020-09-04
libra0 2020-09-02
ChlatZed 2020-08-23