一、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。