从申请服务器到Docker部署Java项目至最后运行完结

目录

1.申请服务器篇

2.配置安全组篇

3.Docker安装篇

4.代码编写打包篇

目录结构

Maven

Controller

DockerFile

开始打包

5.所需文件上传及镜像构建篇

上传准备

上传jar包及DockerFile文件

指令构建

验证

6.镜像启动服务验证篇

启动镜像

使用云服务器地址进行接口访问


1.申请服务器篇

www.qingcloud.com

创建新的

参数选择

点击创建主机

2.配置安全组篇

说白了:让你的端口让服务器通过

3.Docker安装篇

本机通过FinalShell连接远程服务器

依次执行下面命令

1.初始化
yum install -y yum-utils
2.安装docker基础环境
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3. 安装docker脚手架
yum install -y docker-ce docker-ce-cli containerd.io
4.默认启动
systemctl enable docker --now
5.验证安装是否成功
docker ps

安装成功后执行docker ps

当前运行的镜像:会出现以下界面,证明安装成功

镜像加速,进入下面的网址复制粘贴运行
阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

4.代码编写打包篇

新建一个springboot应用,使用idea随便写个请求接口

目录结构

Maven

XML 复制代码
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.7.3</version>
        </dependency>
    </dependencies>

Controller

java 复制代码
package com.zsp.docker.controller;

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;

@RestController
public class CounterController {

    @Resource
    private RedisTemplate<String, String> redisTemplate;

    @GetMapping("hello")
    public String count() {
        Long in = redisTemplate.opsForValue().increment("count");
        return "有{" + in + "}人访问了这个页面";
    }
}

DockerFile

XML 复制代码
#基础环境
FROM openjdk:8-jdk-slim
#作者
LABEL maintainer=zhangshipeng
#将target下的以jar为后缀的文件复制给app.jar
COPY target/*.jar   /app.jar
#执行java -jar 命令
ENTRYPOINT ["java","-jar","app.jar"]

开始打包

5.所需文件上传及镜像构建篇

上传准备

新建一个文件夹,内容为DockerFile和target,target里面只放打包后的jar包

上传jar包及DockerFile文件

通过FinalShell进行文件上传,我在云服务器上新建了名为dockerfile的文件夹,将这两个内容放进了这里

指令构建

进入该文件夹,执行构建指令 docker build -t java-docker:v1.0 .

构建指令最后的点不要忘记

docker build 指令是前置 -t 指定构建的名字

验证

构建完,docker images,查看是否成功

6.镜像启动服务验证篇

启动镜像

docker run -d -p 8080:8080 java-docker:v1.0

java-docker:v1.0:在构建时命名的名字

使用云服务器地址进行接口访问

相关推荐
prcyang28 分钟前
Docker Compose
运维·docker·容器
脚踏实地的大梦想家31 分钟前
【Docker】安装全流程与配置完整镜像源(可安装 nginx)
运维·docker·容器
城南云小白1 小时前
Linux网络服务只iptables防火墙工具
linux·服务器·网络
从心归零1 小时前
sshj使用代理连接服务器
java·服务器·sshj
咩咩大主教1 小时前
C++基于select和epoll的TCP服务器
linux·服务器·c语言·开发语言·c++·tcp/ip·io多路复用
羌俊恩1 小时前
视频服务器:GB28181网络视频协议
服务器·网络·音视频
Zww08911 小时前
docker部署个人网页导航
运维·docker·容器
运维小白。。1 小时前
Nginx 反向代理
运维·服务器·nginx·http
PeterJXL1 小时前
Docker-compose:管理多个容器
运维·docker·容器
海王正在撒网2 小时前
用 Docker 部署 Seafile 社区版
运维·docker·容器