Docker微服务项目部署

一,项目准备

1. 所需数据包如下:

tensquare_gathering-1.0-SNAPSHOT
tensquare_eureka_server-1.0-SNAPSHOT
tensquare_zuul-1.0-SNAPSHOT
tensquare_admin_service-1.0-SNAPSHOT
dist.tar.gz
数据库文件:
tensquare_user.sql
tensquare_gathering.sql
所需软件:
jdk-8u211-linux-x64.tar.gz 

在这里插入图片描述

二,项目部署

1. eureka部署

mkdir  eureka     #创建一个目录,路径自定义
mv tensquare_eureka_server-1.0-SNAPSHOT  /eureka
mv jdk-8u211-linux-x64.tar.gz  /eureka

vim Dockerfile
FROM daocloud.io/library/centos:7
MAINTAINER "service" <18838250156@163.com>
ADD jdk-8u211-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_211 /usr/local/java
ENV JAVA_HOME /usr/local/java/
ENV PATH $PATH:$JAVA_HOME/bin
COPY tensquare_eureka_server-1.0-SNAPSHOT.jar /usr/local
EXPOSE 10086
CMD java -jar /usr/local/tensquare_eureka_server-1.0-SNAPSHOT.jar

docker  build  -t  eureka:latest  .

2,zuul部署

mkdir /zuul			#目录路径自定义
mv  tensquare_zuul-1.0-SNAPSHOT /zuul
mv  jdk-8u211-linux-x64.tar.gz  /zuul

vim Dockerfile
FROM daocloud.io/library/centos:7
MAINTAINER "service" <18838250156@163.com>
ADD jdk-8u211-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_211 /usr/local/java
ENV JAVA_HOME /usr/local/java/
ENV PATH $PATH:$JAVA_HOME/bin
COPY tensquare_zuul-1.0-SNAPSHOT.jar /usr/local
EXPOSE 10020
CMD java -jar /usr/local/tensquare_zuul-1.0-SNAPSHOT.jar

docker  build -t  zuul:latest  .

3,gathering部署

mkdir /gathering
mv  tensquare_gathering-1.0-SNAPSHOT /gathering
mv  jdk-8u211-linux-x64.tar.gz  /gathering

vim Dockerfile
FROM daocloud.io/library/centos:7
MAINTAINER "service" <18838250156@163.com>
ADD jdk-8u211-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_211 /usr/local/java
ENV JAVA_HOME /usr/local/java/
ENV PATH $PATH:$JAVA_HOME/bin
COPY tensquare_gathering-1.0-SNAPSHOT.jar /usr/local
EXPOSE 9002
CMD java -jar /usr/local/tensquare_gathering-1.0-SNAPSHOT.jar

docker  build -t gathering:latest   .
docker run -itd --name gathering -p 30022:9002 gathering:latest

4,admin部署

mkdir  /admin
mv  tensquare_admin_service-1.0-SNAPSHOT /admin
mv  jdk-8u211-linux-x64.tar.gz  /admin

vim Dockerfile
FROM daocloud.io/library/centos:7
MAINTAINER "service" <18838250156@163.com>
ADD jdk-8u211-linux-x64.tar.gz /usr/local/
RUN mv /usr/local/jdk1.8.0_211 /usr/local/java
ENV JAVA_HOME /usr/local/java/
ENV PATH $PATH:$JAVA_HOME/bin
COPY tensquare_admin_service-1.0-SNAPSHOT.jar /usr/local
EXPOSE 9001
CMD java -jar /usr/local/tensquare_admin_service-1.0-SNAPSHOT.jar

docker  build  -t  admin:latest  .

5,MySQL部署

docker pull mysql:5.7.38   #官网仓库下载mysql镜像
docker run -itd --name mysql -p 30023:3306 -e MYSQL_ROOT_PASSWORD=msyql mysql:5.7.38

yum -y install mariadb  下载这个是需要使用mysql命令
mysql -u root -pmysql -h 10.0.0.220 -P 30023   这里端口是大P
create database tensquare_gathering;
create database tensquare_user;
use tensquare_gathering;
source /root/tensquare_gathering.sql;
use tensquare_user;
source /root/tensquare_user.sql;

6,启动镜像

docker  run -itd  --name gathering -p 30022:9002 gathering:latest
docker  run -itd  --name admin -p 30024:9001 admin:latest 
docker  run -itd  --name zuul -p 30021:10020 zuul:latest

7,部署前端服务

docker pull nginx:1.22.0-perl   #官方仓库下载
mkdir /web
mv dist.tar.gz  /web
cd /web
tar xf dis.tar.gz
docker run -itd --name nginx -p 80:80 -v /web/dist/:/usr/share/nginx/html nginx:1.22.0-perl
chmod 777 /web/dist -R
### 如何在 Docker Desktop 上部署微服务项目 #### 配置 Docker Desktop 和环境准备 为了能够在 Windows 平台上顺利运行 Docker,需先安装 Docker Desktop 应用程序。该应用程序依赖于 Windows 自带的 Hyper-V 服务以及 WSL2 (Windows Subsystem for Linux 第二代),通过这些组件,在 Windows 中构建了一个轻量级的 Linux 子系统,使得 Docker 能够在其之上正常运作[^3]。 完成 Docker Desktop 的安装之后,确保已正确设置了 Docker Builder 使用路径 `unix:///var/run/docker.sock` 来连接到本地 Docker 服务实例[^1]。 #### 获取必要的镜像文件 利用命令提示符(CMD) 或者 PowerShell 终端工具,可以通过简单的指令拉取所需的容器化应用镜像至本地机器。对于典型的微服务架构来说,可能需要用到如下几个常见的基础镜像: ```bash docker pull nginx docker pull nodered/node-red docker pull mysql/mysql-server docker pull redis/redis-stack docker pull openjdk docker pull nacos/nacos-server ``` 上述命令会分别从官方仓库获取 Nginx、Node-RED、MySQL 数据库服务器、Redis 缓存数据库、OpenJDK Java 运行时环境以及 Alibaba 开源的服务发现与配置中心——Nacos Server 的最新版本镜像文件并保存到本地缓存中以便后续使用[^4]。 #### 构建和启动微服务集群 当所有的前置条件都准备好以后,就可以着手编写用于定义各个微服务之间关系和服务编排逻辑的 YAML 文件了。通常情况下,这会被命名为 `docker-compose.yml`。下面是一个简化版的例子展示如何组合多个服务形成一个完整的分布式系统: ```yaml version: '3' services: webserver: image: "nginx" ports: - "80:80" backend: build: ./backend environment: SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/mydatabase?useSSL=false&serverTimezone=UTC depends_on: - db db: image: "mysql/mysql-server" environment: MYSQL_ROOT_PASSWORD: example cache: image: "redis/redis-stack" config_center: image: "nacos/nacos-server" ports: - "8848:8848" ``` 此示例展示了五个不同的服务:Web 前端(`webserver`)、Java 后端 API (`backend`)、MySQL 关系型数据库(`db`)、Redis 分布式键值存储(`cache`)还有作为注册中心使用的 Nacos 实例(`config_center`)。注意这里还指定了各部分之间的网络通信方式以及其他重要的参数设定。 最后一步就是执行以下命令来启动整个微服务体系结构: ```bash docker-compose up -d ``` 这条命令将会读取当前目录下的 docker-compose.yml 文件,并按照其中描述的方式自动创建所需的所有容器资源并将它们链接起来构成一个功能完备的小型云平台模拟环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenshuai199533

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值