为了账号安全,请及时绑定邮箱和手机立即绑定

Docker-第二个java应用

标签:
Docker

1.常规部署


输入mvn package即可打包成jar/war(可以在target中看到)

注意:如果要在独立的tomcat中运行的话这样还不够,还需要以下步骤:

              1.1保证打包的是war包

              1.2在pom.xml中添加下面依赖,排除springboot内置的tomcat


<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-tomcat</artifactId>    <scope>provided</scope></dependency>

               1.3在启动类中继承SpringBootServletIntializer,并重写configure方法


@SpringBootApplicationpublic class DemoApplication extends SpringBootServletInitializer {    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);    }    @Override    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {        return builder.sources(DemoApplication.class);    }
}


2.  云部署-基于Docker的部署

Dockerfile中主要有如下指令

2.1. FROM 指定了当前镜像继承的基镜像。编译当前镜像时会自动下载基镜像

2.2. MAINTAINER 指定了当前镜像的作者

2.3.RUN 可以在当前镜像上执行Linux命令并形成一个新的层。RUN是编译时(build)的动作

2.4.CMD指明了启动镜像容器时的行为,一个Dockerfile里只能有一个CMD指令。CMD指令里设定的命令可以在运行镜像时使用参数覆盖。CMD是运行时(run)动作

2.5.ENV 用来设置环境变量

2.6.ADD是从当前的工作目录复制文件到镜像的目录中去

2.7.ENTRYPOINT 可以让容器像一个可执行一样执行,这样镜像运行时可以像软件一样接受参数执行,它是运行时(run) 的动作

2.8.EXPOSE指明了镜像运行时的容器必需监听的指定的端口


启动java应用,首先是打成jar/war,然后将jar/war和Dockerfile文件放在同一目录下面

Dockerfile的内容如下:

FROM hub.c.163.com/library/tomcat:8.0
MAINTAINER jin

COPY demo-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps


3. 编译镜像

在上面的目录下执行

 docker build -t wisely/appdocker .(注意最后有个.,代表当前目录下)

注意:wisely/appdocker是镜像的名称,设置wisely作为前缀,这也是Docker镜像的一种命名习惯


4. 查看镜像是否创建成功和运行镜像

docker images 

运行镜像:

docker run -d --name app -p 8080:8080 wisely/appdocker

测试连接:

当前的docker虚拟机的ip 是192.168.99.100,所以浏览器访问192.16.31.171:8080+项目名+方法mapping 即可

这里我们简单创建一个controller类,并写了个hello world测试:


@RestControllerpublic class DemoController {    @RequestMapping(value="/index")
    String home() {        return "Hello World!";    }


}

注意@RestController和@Controller的区别,这里有个坑!!!



原文出处

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消