建立一个简单的springboot项目,写一个测试接口。
一、手动上传
pom.xml
<properties>
<java.version>1.8</java.version>
<docker.image.prefix>chris</docker.image.prefix>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker 插件 begin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- docker 插件 end -->
</plugins>
<finalName>chris-docker</finalName>
</build>
Dockerfile
FROM daocloud.io/library/java:8u20
VOLUME /tmp
ADD chris-docker.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
打包
mvn clean package
服务器上安装docker,建立文件夹,把打好的jar包和Dockerfile文件一起复制到这个文件夹。在文件夹中执行:
docker build -t chris-docker .
完成后用 docker images查看,可以看到chris-docker这个镜像。
docker images
运行镜像,把端口映射出来
docker run --name chris -p 8003:8003 -d chris-docker:latest
尝试调用测试接口成功。
二、自动上传
修改docker宿主机配置
vi /usr/lib/systemd/system/docker.service
修改文件ExecStart的第一行
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \
重新加载配置文件
systemctl daemon-reload
重启docker服务
检查修改是否成功
netstat -na|grep 2375
在springboot微服务build->plugins->pluin的<configuration>下添加
<!-- docker私服的地址 -->
<dockerHost>http://192.168.0.115:2375</dockerHost>
运行命令:
mvn clean package docker:build
在docker宿主机查看,可以看到<imageName>${docker.image.prefix}/${project.artifactId}</imageName>格式的镜像文件,tags为latest。如果需要自定义tags,需要在pom中相应位置添加
<imageTags>1.0.0</imageTags>
运行容器,映射端口,调用测试接口成功。