docker基础(14):如何手动发布项目

发布项目

第一步、创建项目

  1. 创建springboot项目
    如何创建springboot项目,请见IDEA构建Springboot项目

  2. 编写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
在这里插入图片描述

第二步、手动发布到服务器

  1. 编写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. 测试访问 http://106.13.2.249:18080/hello
    在这里插入图片描述

问题

问题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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值