一、DockerMaven插件的使用
通过Maven插件自动部署。
步骤:1、修改宿主机的docker配置 vi /lib/systemd/system/docker.service,让其可以远程访问。在ExecStart=后添加配置 ‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock。
2、刷新配置,重启docker。
systemctl daemon-reload
systemctl restart docker
docker restart registry
3、在pom中配置插件,使生成Dockerfile文件。配置如下:
<build>
<finalName>${project.artifactId}</finalName>
<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>0.4.13</version>
<configuration>
<imageName>192.168.10.130:5000/${project.artifactId}:${project.version}</imageName>
<baseImage>jdk1.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>
<dockerHost>http://192.168.10.130:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
4、对父工程install进行工程的安装,将maven打成jar包或者war包发布到本地仓库。
mvn install
5、进入各自模块工程目录,输入命令,进行打包,上传镜像。
mvn docker:build -DpushImage
6、进入宿主机查看上传的镜像。
docker images
7、启动容器:docker run -di --name=firstdockermaven -p 9001:9001 192.168.10.130:5000/tensquare_base:1.0-SNAPSHOT
二、Jenkins
整个过程很简单:
1、安装jdk;
2、安装jenkins;
3、修改jenkins配置文件中的用户名和端口;
小坑小解:vi修改jenkins文件的时候没有翻配置文件的信息找JENKINS_PORT,而是自己定义了一个JENKINS_PORT=8888,结果死活使用自己定义的8888端口访问不到jenkins,哎,在我都快怀疑自己的时候发现jenkins其实还是使用的8080默认端口,才发现配置文件中有默认的8080端口。
4、启动jenkins;
5、访问jenkins;
小坑小解:jenkins登录使用的用户名是admin,我一直一位是配置文件中定义的root结果就一直提示登录无效。最后换了用户名才ok。