新手小白学习docker第十弹-------Docker微服务实战

目录

  • [0 引言](#0 引言)
  • [1 IDEA创建微服务](#1 IDEA创建微服务)
    • [1.1 IDEA配置maven3.9](#1.1 IDEA配置maven3.9)
    • [1.2 新建项目docker_serve](#1.2 新建项目docker_serve)
    • [1.3 编写docker_serve代码](#1.3 编写docker_serve代码)
    • [1.4 启动项目](#1.4 启动项目)
    • [1.5 打包项目](#1.5 打包项目)
    • [1.6 上传项目到虚拟机](#1.6 上传项目到虚拟机)
  • [2 部署到docker容器](#2 部署到docker容器)
    • [2.1 编写Dockerfile](#2.1 编写Dockerfile)
    • [2.2 构建镜像](#2.2 构建镜像)
    • [2.3 运行容器](#2.3 运行容器)
    • [2.4 访问测试](#2.4 访问测试)
  • [3 后记](#3 后记)

0 引言

真的,这个看着就好难,每次打算写这个的时候,都犯难就是不想写了,硬生生的拖到现在,还是得写,加油吧!

反正都得写都得学

1 IDEA创建微服务

通过IDEA新建一个普通微服务模块,就是说有一个spring boot的项目,可以运行的,这里浅浅的给一下,欢迎观看和实操哟~因为我也是现搞出来的,刚出炉,还热乎着呢,别以为就几个图,我遇到了好些问题,不过还是解决了,我太厉害了!

1.1 IDEA配置maven3.9

首先,咱们肯定要先会使用IDEA,IDEA配置maven,看我另一篇博客,包学会和能使用的 IDEA配置MAVEN3.9版本(2024巨无霸详细)

1.2 新建项目docker_serve



1.3 编写docker_serve代码






bash 复制代码
package com.example.docker_serve.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.util.UUID;



@RestController
public class orderController
{
    @Value("${server.port}")
    private String port;

    @RequestMapping("/order/docker")
    public String helloDocker()
    {
        return "hello docker"+"\t"+port+"\t"+ UUID.randomUUID().toString();
    }

    @RequestMapping(value ="/order/index",method = RequestMethod.GET)
    public String index()
    {
        return "服务端口号: "+"\t"+port+"\t"+UUID.randomUUID().toString();
    }
}
bash 复制代码
server.port=6001

1.4 启动项目




恭喜恭喜,到这里,咱们就成功的启动项目啦!

1.5 打包项目

这里使用Maven的便利性可以的到体现,直接使用Maven打包即可

1.6 上传项目到虚拟机

首先,创建一个文件夹

这是在虚拟机上执行的命令

bash 复制代码
mkdir mydocker

这里给大家推荐个软件xftp,它传输文件又方便又快捷,我很喜欢,连接服务器我也是用它传文件的,今天第一次用它尝试给虚拟机传文件,也成功了!

可以看出上传文件成功

2 部署到docker容器

通过Dockerfile发布微服务部署到docker容器

2.1 编写Dockerfile

bash 复制代码
cd /mydocker
vim Dockerfile
bash 复制代码
# 基础镜像使用java
FROM openjdk:17
# 作者
MAINTAINER ada
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名为zzyy_docker.jar
ADD docker_serve-0.0.1-SNAPSHOT.jar ada_docker.jar
# 运行jar包
RUN bash -c 'touch /ada_docker.jar'
ENTRYPOINT ["java","-jar","/ada_docker.jar"]
#暴露6001端口作为微服务
EXPOSE 6001

2.2 构建镜像

bash 复制代码
docker build -t ada_docker:1.6 .

2.3 运行容器

bash 复制代码
docker run -d -p 6001:6001 ada_docker:1.6

2.4 访问测试

测试方案一:

bash 复制代码
curl 127.0.0.1:6001/order/index
curl 127.0.0.1:6001/order/docker

测试方法二:

在本地浏览器

先找到自己的IP地址

bash 复制代码
IP:6001/order/index
IP:6001/order/docker


3 后记

我最近超级爱学习新东西,看到一个不会的我就想学,比如:回学校的路上看见有人拉小提琴,我想:能不能学一下;我之前的日语还没考级,我:能不能学一下;看美剧,我去,发音好好听,我:能不能学一下!

加油,一直保持这个心态,日子会越来越好的~

BB,如果我的文档对您有帮助的话,记得给俺点个赞赞昂~

相关推荐
19岁开始学习1 小时前
Go学习-入门
开发语言·学习·golang
drebander2 小时前
Docker 与 Kubernetes(K8s)初探
docker
ianozo2 小时前
CTF 代码学习日记 PHP
java·学习·php
大G哥2 小时前
用DeepSeek来帮助学习three.js加载3D太极模形
开发语言·前端·javascript·学习·ecmascript
没有不重的名么2 小时前
MATLAB基础学习相关知识
数据结构·学习·matlab
omage3 小时前
cornerstone3D学习笔记-MPR
笔记·学习·vtk·dicom·mpr
虾球xz3 小时前
游戏引擎学习第114天
学习·游戏引擎
虾球xz4 小时前
游戏引擎学习第109天
学习·游戏引擎
Urf_read5 小时前
微服务入门-笔记
redis·笔记·微服务
ccmjga5 小时前
升级 SpringBoot3 全项目讲解 — Spring Boot 3 中如何发Http请求?
java·spring boot·后端·docker·gradle·springboot·spring security