Docker上部署微服务

Docker环境一键部署若依微服务版 是基于SpringBoot的权限管理系统,可以用它作为基础构建自己的。这个项目在 Gitee 上有1.8 万个 star。它有3 个版本,分别是单体版、版、版。这次是使用 docker部署他的微服务版本。微服务版项目源代码包括 docker 部署的相关代码,但在实际部署过程中,并不能直接部署成功。我将部署配置做了修改,代码放到了上,查看代码改动部分。在安装好 docker 环境的主机上,复制并运行以下脚本可以实现一键部署若依系统。脚本执行时间大概 20 分钟左右。以下详细介绍安装过程。 阅读详情

Docker上部署微服务

网上查找了很多资料,没有详细的教程,所以自己通过资料总结一下,微服务部署是分别将每个微服务部署在docker上

1、环境搭建
1.1 centos安装docker
  • 1、检查centos内核版本,内核版本必须在3.10以上才行

    uname -r
    
  • 2、使用root权限登录centos,确保yum包更新到最新

    yum -y update
    
  • 3、卸载旧版本(如果安装过旧版本的话)

    yum remove docker docker-common docker-selinux docker-engine
    
  • 4、安装需要的软件包,yum-utils 提供yum-config-manage功能,另外两个是device-mapper驱动依赖的

    yum install -y yum-utils device-mapper-persistent-data lvm2	
    
  • 5、设置yum源

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    
  • 6、可以查看所有仓库中的docker版本,并选择特定版本安装

    yum list docker-ce --showduplicates | sort -r
    
  • 7、安装docker

    sudo yum install -y docker-ce #由于repo中默认只开启stable仓库,故这里安装的是稳定版18.03.1
    
  • 8、启动并加入开机启动

    systemctl start docker
    systemctl enable docker
    
  • 9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

    docker version   #看到docker版本即为安装成功
    
1.2 配置阿里镜像加速
  • 注册账号(免费)

    网址:https://cr.console.aliyun.com/cn-hangzhou/mirrors
    在这里插入图片描述
    按照上面的第二步提示进行配置即可,

sudo mkdir -p /etc/docker
#下面这几行需要一起copy
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://dhe9work.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
2、Docker镜像相关命令
docker images #查看images中全部镜像
docker search java #搜索镜像,搜索结果和在docker hub中搜索的结果相同
docker pull java:8 #下载镜像文件到本地仓库images
docker rmi --imageid #删除镜像 
docker run -d -p 81:80 nginx #81暴露给主机,80是宿主机(容器)的端口;-d表示后台运行

​ 运行完上面这条命令之后,去访问(centosIP:81)就会出现下面的欢迎页面

在这里插入图片描述

docker ps #查看当前运行的容器
  • 如果想要访问容器内部,可以按照如下操作

    #1、先查看容器的id
    #2、输入下面的命令
    docker inspect 231d40e811cd
    
3、将springboot项目部署到docker
3.1 构建自己的docker镜像
  • 将jar包上传到linux服务器/user/local/dockerapp目录,在jar包所在目录创建名为Dockerfile的文件

    cd ..
    cd /usr/local
    mkdir dockerapp
    #使用filezilla将jar包上传到这个目录下
    
  • 在Dockerfile中添加以下内容

    ### 指定java8环境镜像
    FROM java:8
    ### 复制文件到容器app-springboot
    ADD eurekaserver.jar /app-eurekaserver.jar
    ### 声明启动端口
    EXPOSE 8761
    ### 配置容器启动后执行的命令
    ENTRYPOINT ["java","-jar","/app-eurekaserver.jar"]
    
  • 使用docker build 命令构建镜像

    docker build -t app-eurekaserver .
    # 格式:docker build -t 镜像名称:标签 Dockerfile的相对位置
    
  • 启动容器

    docker run -p 8761:8761 app-eurekaserver
    
  • 然后访问 ip:port 即可看到eurekaserver的界面

在这里插入图片描述

4、docker卸载镜像文件
# 先删除容器,后删除镜像
#1、查询容器(没有a表示运行的容器)
docker ps -a
#2、使用容器id删除容器
docker rm 544840513f26 
#3、查看镜像
docker images
#4、使用镜像id删除镜像
docker rmi 6cd8bcc98bf3 
  • 重启命令

    systemctl restart docker#重启docker
    
  • 关闭linux防火墙命令(这样使用windows就可以访问linux)

    systemctl stop firewalld
    
5、通过negix配置负载均衡
  • 镜像一般默认安装在容器id/ect的目录下

  • 容器管理

    #进入到容器
    docker container exec -it [id] /bin/bash
    #默认情况下软件安装在目录的/etc目录下
    #退出到宿主机
    exit
    
  • linux挂载(使用挂载方式,外部的配置文件覆盖内部容器配置文件)

    Docker 安装的软件来修改配置文件

    docker run [name] -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx
    #/data/nginx/conf/nginx.conf表示宿主机目录
    #/etc/nginx/nginx.conf 容器内的目录
    
6、nginx配置负载均衡
  • 安装nginx

    • 下载Nginx镜像文件

      docker pull nginx
      docker images
      
    • 创建挂载目录

      mkdir -p /data/nginx/{conf,conf_d,html,logs}
      
    • 编写Nginx配置文件

    • 启动容器

      docker run [name] -d -p 80:80 -v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/logs:/var/log/nginx -d docker.io/nginx
      #执行完这步之后就已经将配置文件同步到容器内部了
      
    • 查看容器

      docker ps
      
7、mysql安装
  • 查询mysql版本

    docker search mysql	
    
  • 下载MYSQL5.7版本

    docker pull mysql:5.7 
    
  • 等待下载完成,创建mysql容器

    docker create --name mysql3306 -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7
    #创建的容器名称为mysql3306
    #密码为123456
    
  • 启动容器

    docker start mysql3306
    
  • 进入到容器

    docker exec -it mysql3306 bash
    
  • mysql连接

    mysql -uroot -p
    

安装完成之后就可以通过navicate等工具进行数据库的读写,或者直接通过上面的命令进入到mysql容器内部进行读写
在这里插入图片描述

一. 为什么使用Docker部署微服务以及Docker安装 一. 为什么使用Docker部署微服务以及Docker安装 项目简介 我们单个项目框架使用的是Srping Boot,众所周知,它的发布方式也很简单,本地用maven打成jar包后,上传到部署服务器,执行一条命令即可 nohup java -jar xxxxx.jar & 不过现在流行微服务+Docker嘛,所以我就跟风了,我们的项目架构是用了Spring Cloud管理微服务。 阅读详情

相关推荐

微服务架构实战:云服务环境与Docker部署工具

由此可见,使用Docker部署微服务是非常简便的,只需使用类似于上面所示的命令就可以在Docker中运行Jar包。另外,使用Docker部署微服务还可以利用更多的服务器资源,设置简单、操作方便。而服务的更新和运行,将更加快速和高效。下面介绍Docker及其工具的安装,以及Docker的使用方法,以帮助读者加深对Docker 的认识和理解。在Linux环境中安装Docker,可以按以下步骤进行。需要注意的是,Docker需要在Linux7.0或以上的版本中才能运行。

gan_zi_ge的博客 2574

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

通过一个简单的示例Dockerfile,用于发布一个基本的Spring Boot微服务应用程序

我的博客 428

Docker 搭建及部署微服务项目

1.概述 Docker是基于Go语言实现的云开源项目,诞生于2013年初,最初发起者是dotClouw公司。Docker 自开源后受到广泛的关注和讨论,目前已有多个相关项目,逐断形成了围Docker的生态体系。dotCloud 公司后来也改名为Docker Ine。Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设...

qq_36617322的博客 2153

Docker 部署微服务项目保姆级教程

这篇教程为编程新手提供了完整的微服务部署指南。从Docker环境一键搭建开始,使用轩辕镜像解决国内镜像拉取慢的问题,详细讲解了本地调试到服务器部署的全流程。教程包含环境准备、服务打包、Dockerfile编写、配置文件调整等关键步骤,并针对2核4G低配服务器进行了优化。特别强调了容器内访问服务名而非localhost的核心要点,以及如何避免常见部署错误。最后提供了服务器运维基础命令和部署完成后的验证方法,帮助新手顺利完成包含MySQL、Redis、Nacos和4个电商业务服务的微服务项目部署。

java_logo的专栏 1073

Docker与微服务:构建和部署微服务架构的完整指南

微服务架构是一种将应用程序拆分成小型、独立可部署的服务单元的软件架构方式。每个微服务都独立开发、部署和扩展,提供特定功能。微服务之间通过API通信,使整个应用程序更具弹性和可维护性。本文提供了一个全面的指南,介绍了如何使用Docker构建和部署微服务架构。微服务架构是现代应用开发的重要范式之一,而Docker为其提供了理想的支持。通过细致的示例代码和指南,希望大家能够更好地理解微服务架构的核心概念,并成功应用于实际项目中。

日常分享数据分析开发、编程语言内容 2022

LabVIEW实战:基于DAQmx的实时正弦波生成、采集与波形图动态显示

本文详细介绍了如何使用LabVIEW和DAQmx驱动实现实时正弦波的生成、采集与动态显示。通过USB-6008数据采集卡,结合队列缓冲机制和动态波形图显示技术,构建了一个完整的信号处理系统。文章包含硬件连接、软件配置、任务设置及常见问题排查,适合LabVIEW初学者和硬件控制开发者参考。

weixin_30872337的博客 124

SpringCloud微服务(二)网关GateWay、Docker、Dockerfile、Linux操作超详细

2、编写路由配置及nacos地址 首先需要大家虚拟机联网,安装yum工具 然后更新本地镜像源: 然后输入命令: 启动docker 通过命令启动docker: 然后输入命令,可以查看docker版本: docker官方镜像仓库网速较差,我们需要设置国内镜像服务:参考阿里云的镜像加速文档:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 Docker基本操作

weixin_53669566的博客 3857

【ANSYS APDL】提取结构刚度矩阵完整过程--附Python代码实现

ANSYS的结构刚度矩阵提取中一些操作技巧

m0_61038364的博客 1万+

Docker 微服务部署入门到实践

文章目录前言一、docker安装二、创建微服务项目三、运行前准备1. 服务器安装maven2.上传源码到服务器3. 编译源码并打包镜像四、Docker-compose运行微服务五、Docker swarm运行微服务总结 前言 本文重点关注docker相关实践,不再详细阐述理论知识 一、docker安装 下面的阐述以centos7系统为例说明,为什么是centos7,原因是centos8官方已经不维护了yum源已经失效,安装组件不方便 #2个yum源选用 #官方yum源,适合国外主机 sudo yum-co

爱码少年 00fly.online 的博客 2万+

Vite与Webpack路径配置大不同:从Vue2迁移到Vue3必须知道的public目录使用技巧

本文详细解析了Vite与Webpack在public目录路径配置上的核心差异,为Vue2迁移到Vue3的开发者提供实用指南。重点对比了两种构建工具的资源处理逻辑,给出典型编译警告的解决方案,并分享路径适配表与高级优化技巧,帮助开发者高效完成技术栈升级。

weixin_30836759的博客 485

中文核心:swin transformer 农作物病虫害识别 完整代码数据

中文核心:swin transformer 农作物病虫害识别

939

docker一个容器内部署多个服务

的所有。

前方的路在刚开始 4015

PLSQL Developer安装详细步骤

一、下载安装PLSQL Developer(plsql安装百度也有步骤) 官网下载地址:https://www.allroundautomations.com/registered-plsqldev/ 1、网上自己下载适合自己电脑的安装包(32或64),并解压。 2、打开解压的文件夹,得到以下三个文件(分别是汉化工具,PLSQL安装包、激活码),双击安装,如下图: 3、安装界面,点击next,进入下一步,如图: 4、安装协议界面,此处必须选择“I accept the terms in

Gorden的博客 11万+

Linux 命令大全:grub 多重引导程序命令行工具详解与系统应急修复实战

本篇技术指南聚焦于 Linux 命令大全项目 [command/grub.md](https://link.gitcode.com/i/75d1a613c2a43d8f8f8997aadb0b38b3) 中记录的 **grub 命令**——它是 GNU GRUB(Grand Unified Bootloader)多重引导程序提供的命令行 shell 交互工具。文章将完整讲解 grub 命令的语法与

gitblog_00639的博客 389

Hermes Agent 实战复盘:5 类超预期场景与3 个典型翻车案例分析

揭示 Hermes Agent 在 PDF 智能解析、低代码评审结构化、Kanban 任务驱动执行等五类未被文档覆盖的超预期落地场景,核心依赖 `soul.md`/`CLAUDE.md`/`kanban` 三层上下文建模机制,而非单纯堆 token 或 agent 数量。

weixin_42520239的博客 384

SAP 基于生产订单行项目外部加工创建采购申请时的一个增强需求

摘要 本文介绍在SAP系统中实现生产订单外协工序自动生成采购申请(PR)时,将指定文本写入PR抬头文本的技术方案。关键点包括: 业务背景:通过CO02事务码将工序标记为外部加工,系统自动生成PR,需在生成时自动写入抬头文本。 技术难点: PR抬头文本存储在STXH/STXL而非EBAN表 标准增强点ME_PROCESS_REQ_CUST在外协场景可能不触发 推荐方案: 使用BAdI ME_REQ_POSTED,在PR过账时点执行 通过Text Object EBANH和Text ID(如B01)写入文本 实

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 623

Docker容器化部署微服务:从开发到生产的完整部署流程

微服务架构已成为现代应用开发的主流趋势,而Docker容器化技术则为微服务的部署提供了高效、一致的解决方案。本文将以GitHub加速计划中的microservices-basics-spring-boot项目为基础,详细介绍如何使用Docker实现微服务从开发环境到生产环境的完整部署流程,帮助新手开发者快速掌握容器化部署的核心技能。 ## 微服务容器化架构概览 在开始部署前,我们首先需要了解微

gitblog_00184的博客 697

当启动容器的时候提示:exec format error?如何解决问题

Docker容器出现"exec format error"的主要原因是架构不兼容(如ARM设备运行x86镜像)。解决方案包括:1)匹配镜像与宿主机架构;2)构建时指定平台;3)安装QEMU模拟器;4)修复文件权限和格式;5)验证基础镜像兼容性。排查流程应从检查架构匹配开始,逐步验证权限、解释器和换行符等问题。建议优先使用多架构镜像,构建时明确指定平台,并使用buildx工具生成多平台镜像。调试时可进入容器手动验证文件格式和兼容性。

weixin_39291964的博客 2717

Docker——微服务的部署

Docker 分为 CE 和 EE 两大版本。CE 即社区版(免费,支持周期 7 个月),EE 即企业版,强调安全,付费使用,支持周期 24 个月。Docker CE 分为 和 三个更新频道。官方网站上有各种环境下的 安装指南,这里主要介绍 Docker CE 在 CentOS上的安装。Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。如果之前安装过旧版本的Docker,可以使

shall_zhao的博客 2187

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Docker中部署微服务

== 本文共分三部分 == Docker Compose编排工具 1.简介 对于Docker,部署一个应用时需要写一个DockerFile文件构建镜像,然后启动再进行访问;但是对于微服务来讲,其子项目可能会很多,并且不易更新维护,所以Docker提供Compse工具来定义和运行多容器! 2.安装与卸载 当当当~安装之前需要依赖于Docker引擎哦 安装命令 curl -L https://g...

i18419068429的博客 1192

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Docker笔记:Docker Swarm, Consul, Gateway, Microservices 集群部署

配置dockerfile,简单示例仅供参考 micro_a_Dockerfile。配置dockerfile,简单示例仅供参考 micro_b_Dockerfile。配置dockerfile,简单示例仅供参考 micro_c_Dockerfile。1 )将各个微服务项目打包,比如goWeb应用, 这个步骤是前置任务。3.3 启动第二个节点(端口8501), 加入到 consul1。3.4 启动第三个节点(端口8502), 加入到 consul1。以下步骤是大体步骤,比较粗略,忽略一些细节赘述,仅供参考。

Wang的专栏 2082

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Docker实战一 Docker安装卸载以及部署微服务

Docker 的安装卸载 docker容器内部安装vim、ping、ifconfig等指令 docker构建javaweb镜像 docker将自己的镜像发布到远程官方的镜像仓库里 docker容器与宿主机挂载目录

东风麦芽糖 1万+

Docker部署微服务

本文介绍了使用Docker部署微服务的完整流程。首先解决Windows环境下Docker安装时常见的虚拟化报错问题,需开启Hyper-V或WSL2支持。然后详细说明如何通过Dockerfile构建微服务镜像,包括镜像源配置、打包导出和服务器部署。重点讲解了docker-compose.yml文件的编写要点,涵盖服务定义、端口映射、环境变量等关键配置。最后总结了部署过程中遇到的典型问题:环境地址解析(需使用容器名而非localhost)、容器网络隔离问题(需确保服务在同一网络)以及端口映射注意事项。文章提供了

hahai_的博客 890

保姆教程 Docker 部署微服务项目

在介绍 Docker Compose 前,先简单介绍下 Docker。Docker 是一种容器技术,允许开发者将应用程序和所有依赖项(如代码、库、配置等)制作为镜像。可以把镜像简单理解为软件安装包,可以在不同的计算机上通过它快速安装和启动应用程序(容器),这些程序独立隔离地运行,不受外部环境的影响。如果要部署微服务项目,可能要启动多个 Docker 容器,比如 MySQL 容器、用户服务容器等。这时就需要 Docker Compose 了。

骑着牛的奇兵的博客 9925

使用docker、docker-compose部署微服务

使用docker-compose部署服务是使用docker部署基础上,增加docker-compose.yml文件统一管理服务容器,实现一个命令启动或关闭所有服务容器,所以要使用docker-compose部署,还是得先学会使用docker部署,是一种前期麻烦后期舒服的部署方式。执行构建镜像的命令要在dockerfile文件所在目录,因为dockerfile文件的“COPY” 命令只能在相对于dockerfile文件的相对目录,使用宿主机的绝对目录构建会报错。

studio_1的博客 3822

若依微服务 docker部署

若依微服务 Docker部署 在现代软件开发中,微服务架构已经变得越来越流行。若依(RuoYi)是一个基于SpringBoot和Vue.js的开源快速开发平台,支持前后端分离,拥有丰富的功能和组件,适用于各种企业应用。本文将介绍如何使用Docker部署若依微服务。 准备工作 在开始之前,需要确保已经安装了Docker和Do...

weixin_41468424的博客 403
上一篇: Feign报错Caused by: com.netflix.client.ClientException: Load balancer does not have available server
下一篇: Java int和Integer的区别
code_AC
博客等级 码龄12年 255粉丝 109原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值