docker运行springboot实例
docker-maven-plugin
app org.springframework.boot spring-boot-maven-plugin com.spotify docker-maven-plugin 0.2.3 ${project.name}:${project.version} ${project.version} latest ${project.basedir}/src/main/docker false ${project.build.directory} ${project.build.finalName}.jar --> --> package--> --> build--> --> --> -->
指定了jar的名称为app
指定了docker镜像名为${project.name}:${project.version}
Springboot实例
@SpringBootApplication
@RestController
public class SpringbootDockerDemoApplication {
public static void main(String[] args) { SpringApplication.run(SpringbootDockerDemoApplication.class, args);}@RequestMapping("/")public String index(){ return "this is index";}
}
docker文件
在src/main/docker文件夹下面建立Dockerfile
FROM java:8
time zone
RUN echo "Asia/Chongqing" > /etc/timezone && dpkg-reconfigure -f noninteractive tzdata
RUN mkdir /app
RUN mkdir /app/logs
ADD app.jar /app/app.jar
ADD runboot.sh /app/
RUN bash -c 'touch /app/app.jar'
WORKDIR /app
RUN chmod a+x runboot.sh
CMD /app/runboot.sh
runboot.sh的内容
sleep 90
java -Djava.security.egd=file:/dev/./urandom -jar /app/app.jar
也可以直接在Dockerfile中用ENTRYPOINT
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","app.jar"]
设置log4j2.xml
/app/logs springboot-docker-demo
添加依赖
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-logging org.springframework.boot spring-boot-starter-log4j2
build镜像
mvn package -Dskip.test=true
mvn docker:build
docker run -d -p 8080:8080 -v /tmp/docker-logs:/app/logs springboot-docker-demo
http://{docker-machine-ip}:8080/
查看日志
docker-machine ssh default
cd /tmp/docker-logs
tail -f springboot-docker-demo.log
工程github:springboot-docker-demo
关键字:java, docker
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!