find / -name ‘docker.service’
在ExecStart=/usr/bin/dockerd添加-H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
systemctl daemon-reload //重启虚拟机;systemctl restart docker //重启docker
ps -ef | grep 2375
在项目的pom.xml添加docker插件
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.1.0</version> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> </executions> <configuration> <imageName>spring/${project.artifactId}:${project.version}</imageName> <!-- 配置docker地址 --> <dockerHost>http://192.168.33.10:2375</dockerHost> <baseImage>java:8</baseImage> <entryPoint>["java", "-jar","/${project.build.finalName}.jar"] </entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> </plugins> </build> 打包部署到docker上jenkins安装git、maven、ssh插件系统管理->全局工具配置->maven->新增;系统管理->系统配置->SSH remote hosts 新建任务配置git,maven和脚本文件 #!/usr/bin/env bash app_name='spring-study' docker stop ${app_name} echo '----stop container----' docker rm ${app_name} echo '----rm container----' docker run -p 8088:8088 --name ${app_name} \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/${app_name}/logs:/var/logs \ -d spring/${app_name}:0.0.1-SNAPSHOT docker run -p 8088:8088 --name spring-study \ -v /etc/localtime:/etc/localtime \ -v /mydata/app/spring-study/logs:/var/logs \ -d spring/spring-study:0.0.1-SNAPSHOT jenkins进行构建问题:github访问不了本机的webhook 解决:通过搭建ngrok或通过natapp注册隧道来实现外网访问