Idea集成远程docker部署web项目
1、配置远程docker连接端口信息
vi /usr/lib/systemd/system/docker.service
2、如下图,并在ExecStart加入
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
3. 重启docker
systemctl daemon-reload
systemctl start docker
4. 开放端⼝
firewall-cmd --zone=public --add-port=2375/tcp --permanent
5、IDEA安装docker插件
6、准备项目
在pom文件中配置插件加入如下内容:
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <!-- 对要打的jar包进行配置 --> <configuration> <!-- Configuration of the archiver --> <archive> <!--生成的jar中,不要包含pom.xml和pom.properties这两个文件--> <addMavenDescriptor>false</addMavenDescriptor> <!-- Manifest specific configuration --> <manifest> <!--是否要把第三方jar放到manifest的classpath中--> <addClasspath>true</addClasspath> <!--生成的manifest中classpath的前缀, 因为要把第三方jar放到lib目录下, 所以classpath的前缀是lib/--> <classpathPrefix>lib/</classpathPrefix> </manifest> </archive> <!--过滤掉不希望包含在jar中的文件--> <excludes> <!-- 排除不需要的文件夹(路径是jar包内部的路径) --> <exclude>**/assembly/</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <executions> <execution> <phase>package</phase> <configuration> <tasks> <copy todir="docker" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
7、创建Dockerfile文件
maven打包工具进行打包,并把相应的jar文件放在 与Dockerfile的同一个目录下。
8、添加配置docker服务
9、启动