2020-10-28

远程访问docker服务

笔者为了测试远程访问docker中的服务,所以有了以下实验。
首先介绍一下测试环境,笔者简单的做了一个web项目部署在了服务器端,然后通过个人笔记本成功的调用到了服务器端的功能。
首先介绍Tomcat原理,将封装好的war包放入Tomcat的webapps下,在运行Tomcat时会自动解压wab包,将其发布成为一个web项目。
然后介绍web服务端的编写,这里采用的是springboot框架,首先在配置文件中导入相关依赖

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
            <scope>provided</scope>
        </dependency>

依赖中封装了需要的相关方法,导入依赖之后才可以使用。
然后编写控制层,因为这里只是一个简单的事例,没有涉及到复杂的逻辑操作,所以就没有编写视图层和持久层,如果有需要可以自行添加,下面是代码

@RestController
@RequestMapping("/user")
public class UserController {

    @GetMapping
    public String findAll() {
        return "hello";
    }
}

第一行注解表明这是一个controller,第二行表示是HttpServlet的Request请求,之后的“/user”表示他的具体请求地址,之后的Get注解表示这是一个Get提交。以上就是web服务端的编写。
接着来将其封装成镜像,部署到容器之中:首先需要将项目打包成war包,我这里用的是maven进行打包,然后编写dockerfile文件,因为这个项目是基于java和tomcat的,所以需要由这两个基础镜像来进行编写,但是由于Tomcat的镜像底层也需要java(docker镜像是分层下载的,tomcat需要java,所以会下载java的那一层镜像)因此我们不需要再下载java,只需要基于tomcat就可以了,上面提高过需要将war包放到tomcat的webapp下才会解压部署,所以这里需要在dockerfile中进行声明:

from tomcat
 
maintainer xtt 1131467202@qq.com
 
COPY jpress.war /usr/local/tomcat/webapps

然后运行这个dockerfile文件就可以完成镜像,最后上传到服务端,在服务端部署这个镜像:
docker run -d -p 8080:8080 jpress
到这就基本完成了,在自己的电脑上输入地址就可以获得结果:
在这里插入图片描述
首先是ip地址和之前暴露的端口号,其次是自己定义的requset请求地址。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值