发布项目
第一步、创建项目
-
创建springboot项目
如何创建springboot项目,请见IDEA构建Springboot项目 -
编写HelloController
package com.demo.springinithello01.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
System.out.println("hello 被访问了");
return "hello world";
}
}
3. 启动运行测试 http://localhost:8080/hello
第二步、手动发布到服务器
- 编写Dockerfile
FROM java:8
# 服务器只有dockerfile和jar在同级目录
COPY *.jar /app.jar
CMD ["--server.port=8080"]
# 对外端口
EXPOSE 8080
CMD echo "----app start---"
ENTRYPOINT ["java","-jar","/app.jar"]
2. 打包项目
3. 将jar和Dockerfile上传到服务器
4. 启动项目
#构建进行(在Dockerfile同目录下)
docker build -t springinit01 .
#启动项目
docker run -d -p 18080:8080 --name test-springinit springinit01
问题
问题1: 时间不对
描述:服务输出的日志时间错了,显示成了格林威治时(世界标准时)
可以通过如下操作解决
第一种方式:卷挂载,与宿主机同时间
#/etc/localtime:/etc/localtime 卷挂载打通时区
docker run -v /etc/localtime:/etc/localtime -d -p 28888:8080 --name tomcat tomcat
第二种方式: 启动设定时区
#TZ="Asia/Shanghai" 设定时区
docker run -e TZ="Asia/Shanghai" -d -p 38888:8080 --name tomcat2 tomcat
第三种方式,docker 挂载时间
# 解决时区问题
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone