1创建web工程
没有什么特别,就是创建一个spring-boot的web工程,访问ip:port/hello输出hello docker!
具体就是替换了spring-boot默认的内嵌tomcat,换成了undertow,据传,undertow比tomcat好一点,具体步骤也就是排除掉tomcat依赖,添加undertow依赖,至于http2.0 ,https那些配置也没去弄。
2. 在spring-boot工程中添加Docker支持
配置docker镜像组名
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<docker.image.prefix>springboot</docker.image.prefix>
</properties>
添加docker构建插件
<!-- Docker maven plugin -->
<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>
在src/main/docker
下创建Dockerfile
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ADD spring-boot-docker-test-v1.0.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Dockerfile:
- FROM 使用jdk8作为基础环境
- VOLUME 指向了一个/tem目录,这个命令的作用是:在宿主机器/var/lib/docker创建一个临时文件目录,挂载到容器中的/tem目录。给servlet容器作为工作目录使用。
- ADD 拷贝文件,并且重命名
ENTRYPOINT 修改linux下servlet容器启动慢,/dev/urandom的问题。
3. 在linux上构建环境变编译环境
1.安装jdk
2.安装maven
5.使用maven插件构建部署springboot项目到docker
1.打包工程文件代码到linux
上传到linxu
捕获.PNG
2.打包
mvn package
3.测试运行
java -jar spring-boot-docker-test-v1.0.jar
4.使用maven常见创建docker镜像
mvn package docker:build
构建成功:
捕获.PNG
查看镜像:
捕获.PNG- 运行
docker run -p 8080:8080 -t springboot/spring-boot-docker-test
浏览器访问:
捕获.PNG
网友评论