docker构建springboot项目,并输入日志
1、创建springboot项目,生成demo.jar,拷贝到家目录
2、准备配置文件application.properties,拷贝到家目录,并配置日志目录logging.path=/logs/
3、在家目录创建Dockerfile
FROM java:8
MAINTAINER eangulee <eangulee@gmail.com>
VOLUME /tmp
COPY application.properties /application.properties
ADD demo.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
4、查看家目录内容
[root@localhost ~]# ls
anaconda-ks.cfg application.properties demo.jar Dockerfile logs
5、构建镜像
[root@localhost ~]# docker build -t demo .
6、运行镜像
[root@localhost ~]# docker run -d -p 8080:8080 -v /root/logs/:/logs/ --name mydemo demo
7、查看日志
[root@localhost ~]# tail -f ~/logs/spring.log
8、附件:demo项目内容
#DemoApplication
@EnableAsync
@EnableScheduling
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
#ScheduController
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ScheduController {
@RequestMapping("/jyr")
public String scheducontroler(){
return "hello jyr";
}
}
#ScheduSerivce
package com.example.demo.service;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.util.Date;
@Service
public class ScheduSerivce {
Logger log = LoggerFactory.getLogger(ScheduSerivce.class);
@Scheduled(cron = "0/5 * * * * *")
public void loginfo(){
log.info("time = "+new Date());
}
}