黑马商城项目(二) Docker

一、Docker快速入门

安装Docker - 飞书云文档

二、命令解读

常见命令:

数据卷:

案例1 数据卷挂载:

案例2 本地目录挂载:

挂载到指定目录能够保存数据(即使Mysql容器被删除)

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v  /root/mysql/data:/var/lib/mysql \
  -v  /root/mysql/init:/docker-entrypoint-initdb.d \
   -v  /root/mysql/data:/etc/mysql/conf.d \
  mysql

三、Docker基础

自定义镜像:

docker对镜像是分层分别打包​​​​​​​

Dockerfile:

容器网络互联:

网络:

四、项目部署

部署Java应用: 

Jar包

dockerfile

部署前端:

 五、DockerCompse

version: "3.8"

services:
  mysql:
    image: mysql
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123
    volumes:
      - "./mysql/conf:/etc/mysql/conf.d"
      - "./mysql/data:/var/lib/mysql"
      - "./mysql/init:/docker-entrypoint-initdb.d"
    networks:
      - hm-net
  hmall:
    build: 
      context: .
      dockerfile: Dockerfile
    container_name: hmall
    ports:
      - "8080:8080"
    networks:
      - hm-net
    depends_on:
      - mysql
  nginx:
    image: nginx
    container_name: nginx
    ports:
      - "18080:18080"
      - "18081:18081"
    volumes:
      - "./nginx/nginx.conf:/etc/nginx/nginx.conf"
      - "./nginx/html:/usr/share/nginx/html"
    depends_on:
      - hmall
    networks:
      - hm-net
networks:
  hm-net:
    name: hmall

### 黑马商城微服务课后作业示例解答 对于黑马商城项目的微服务架构学习,可以通过实际操作加深理解。具体到课后作业方面,可以考虑以下几个方面的练习: #### 1. 构建基础环境 确保开发环境中已安装必要的工具和服务,比如 JDK、Maven 或 Gradle 和 Docker 玉[^2]。 #### 2. 创建 Spring Boot 应用程序 基于 Spring Cloud Alibaba 实现一个简单的商品管理模块作为入门案例。此过程涉及创建多个子项目来模拟真实的业务场景,如订单处理、库存管理和用户认证授权等。 ```java @SpringBootApplication @EnableDiscoveryClient public class ProductApplication { public static void main(String[] args) { SpringApplication.run(ProductApplication.class, args); } } ``` #### 3. 配置 Nacos 注册中心 利用 Nacos 来实现服务发现与配置管理功能。这一步骤有助于学员掌握如何在一个分布式的环境下注册并查找其他的服务实例。 ```yaml spring: cloud: nacos: discovery: server-addr: localhost:8848 ``` #### 4. 设计 API Gateway 引入网关组件(例如 Zuul 或者更推荐的 Spring Cloud Gateway),用于统一对外暴露接口,并负责路由转发请求至对应的服务提供方。 ```properties server.port=9090 spring.application.name=gateway-service spring.cloud.gateway.routes[0].id=user-service-route spring.cloud.gateway.routes[0].uri=http://localhost:8081/ spring.cloud.gateway.routes[0].predicates[0]=Path=/api/user/** ``` #### 5. 测试与调试 编写单元测试和集成测试脚本验证各个独立模块的功能正确性;同时借助 Postman 工具来进行 RESTful 接口调用测试。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值