2月1日java假期学习读书笔记

一、学习目标
了解Docker Compose的基本概念和优势。
掌握如何使用Docker Compose管理多个容器。
学习如何通过Docker Compose部署多容器应用。
通过实际练习,构建一个包含多个服务的微服务架构。
理解Docker Compose在微服务开发中的应用场景。
二、学习内容
(一)Docker Compose基础

  1. Docker Compose简介
    Docker Compose是一个工具,用于定义和运行多个容器的Docker应用。
    它通过一个docker-compose.yml文件定义服务、网络和卷,简化了多容器应用的管理。
  2. 安装Docker Compose
    Windows/Mac:Docker Desktop自带Docker Compose。
    Linux:通过脚本安装:
    bash
    sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep -Po '"tag_name": "\K.*\d')" /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
  3. Docker Compose的基本命令
    启动服务:
    bash
    docker-compose up
    后台启动服务:
    bash
    docker-compose up -d
    停止服务:
    bash
    docker-compose down
    查看服务状态:
    bash
    docker-compose ps
    查看日志:
    bash
    docker-compose logs
    (二)使用Docker Compose部署多容器应用
  4. 定义docker-compose.yml文件
    示例:一个包含Spring Boot应用和MySQL数据库的微服务架构。
    yaml
    version: '3.8'

services:
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: mydatabase
ports:
- "3306:3306"
volumes:
- db_data:/var/lib/mysql

app:
build: .
depends_on:
- db
ports:
- "8080:8080"
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://db:3306/mydatabase
SPRING_DATASOURCE_USERNAME: root
SPRING_DATASOURCE_PASSWORD: root

volumes:
db_data:
2. 构建和启动服务
在项目根目录下运行以下命令:
bash
docker-compose up --build
如果需要后台运行:
bash
docker-compose up --build -d
3. 验证服务
访问http://localhost:8080,确认Spring Boot应用正常运行。
使用MySQL客户端连接到localhost:3306,验证数据库服务是否正常。
(三)实际练习:构建一个包含多个服务的微服务架构

  1. 创建Spring Boot项目
    使用Spring Initializr生成一个包含JPA和MySQL依赖的Spring Boot项目。
  2. 创建docker-compose.yml文件
    定义MySQL服务和Spring Boot应用服务,配置好环境变量和依赖关系。
  3. 运行和测试
    使用Docker Compose启动服务,验证应用是否可以正常连接到数据库。
    模拟微服务之间的调用,验证多容器架构的运行情况。
    三、学习心得
    Docker Compose的优势
    Docker Compose通过docker-compose.yml文件简化了多容器应用的管理。
    它支持服务的依赖关系、网络配置和数据卷管理,非常适合微服务架构。
    多容器架构的管理
    使用Docker Compose可以轻松定义和管理多个服务之间的关系。
    通过配置文件,可以快速启动、停止和重建服务,提高开发效率。
    实践的重要性
    通过实际构建和运行多容器应用,我更好地理解了Docker Compose的使用方法。
    实践可以帮助快速发现和解决问题,加深对知识点的理解。
posted @ 2025-02-19 23:52  头发少的文不识  阅读(19)  评论(0)    收藏  举报