idea连接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
二、idea安装docker插件(Docker integration)并配置:
三、配置pom文件:
<?xml version="1.0" encoding="utf-8"?><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>${project.basedir}</dockerDirectory><!--指定远程 docker api地址--><dockerHost>http://47.99.64.181: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
FROM java:8
VOLUME /tmp
ADD scm.jar app.jar
EXPOSE 8080
ENTRYPOINT [ “java”, “-jar”, “/app.jar” ]
五、点击maven的package进行构建
六、创建容器,找到刚刚生成的镜像,点击创建容器


