从申请服务器到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:在构建时命名的名字

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

相关推荐
zengshitang5203 分钟前
ACRN 实战应用:在一台电脑上同时安装Windows10、Ubuntu22.04、Ubuntu PREEMPT_RT实时系统并流畅运行
linux·运维·ubuntu
UP_Continue8 分钟前
Linux权限
linux·运维·服务器
努力也学不会java14 分钟前
【docker】Docker Image(镜像)
java·运维·人工智能·机器学习·docker·容器
LSL666_19 分钟前
云服务器安装MySQL
运维·服务器·mysql
gaize121321 分钟前
服务器的性能如何评估
运维·服务器·php
牛奶咖啡1323 分钟前
制作无人值守自动化系统镜像并实现自动化安装——万能系统引导U盘版本
运维·制作万能系统引导u盘·实现对整个系统的安装备份·制作自动化无人值守系统镜像·使用自动化无人值守系统镜像部署·使用再生龙实现系统的自动化安装
ShiLiu_mtx25 分钟前
Keepalived,Haproxy负载均衡集群
linux·运维·负载均衡
幸福右手牵26 分钟前
服务器 IP 地址配置方案
linux·服务器·tcp/ip·智能路由器
橘颂TA29 分钟前
【Linux】进程池
linux·运维·服务器·c++
p***323530 分钟前
Nginx 配置前端后端服务
运维·前端·nginx