Docker学习(6):Docker Compose部署案例

news2024/11/25 13:53:06

一、docker-compose部署mysql

1、准备镜像

2、编写my.cnf配置文件

# 服务端参数配置
[mysqld]
user=mysql                     # MySQL启动用户
default-storage-engine=INNODB  # 创建新表时将使用的默认存储引擎
character-set-server=utf8mb4   # 设置mysql服务端默认字符集
collation-server = utf8mb4_general_ci # 数据库字符集对应一些排序等规则,注意要和character-set-server对应
pid-file=/var/lib/mysql/mysqld.pid  # pid文件所在目录
socket=/var/lib/mysql/mysqld.sock # 用于本地连接的socket套接字
datadir=/var/lib/mysql             # 数据文件存放的目录
#bind-address=127.0.0.1                  # MySQL绑定IP
expire_logs_days=7                            # 定义清除过期日志的时间(这里设置为7天)
# 设置client连接mysql时的字符集,防止乱码
init_connect='SET NAMES utf8mb4'
# 是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1
# 执行sql的模式,规定了sql的安全等级, 暂时屏蔽,my.cnf文件中配置报错
#sql_mode = STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
transaction_isolation=READ-COMMITTED
# TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp=true
#它控制着mysqld进程能使用的最大文件描述(FD)符数量。
#需要注意的是这个变量的值并不一定是你设定的值,mysqld会在系统允许的情况下尽量获取更多的FD数量
open_files_limit=65535
# 允许最大连接数
max_connections=200
#最大错误连接数
max_connect_errors=600
#禁用DNS解析
skip-name-resolve=1
[client]
default-character-set=utf8mb4  # 设置mysql客户端默认字符集

3、编写docker-compose.yml配置文件

version: '3'
services:
  mysql:
    restart: unless-stopped
    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/mysql:8.4.2
    container_name: mysql8
    ports:
      - "13306:3306"
    volumes:
     - ./conf/my.cnf:/etc/my.cnf
     - ./data/mysql:/var/lib/mysql 
     - ./logs:/var/log/mysql  
    environment:
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
      - MYSQL_ROOT_PASSWORD=123456
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"    

4、使用docker-compose up启动mysql

        连接数据库,部署完成。

二、docker-compose部署redis

1、准备镜像

2、编写redis.conf配置文件

        创建目录:

        在conf目录下编写配置文件redis.conf配置文件:

# 关闭保护模式,允许远程连接
protected-mode no
# 开启AOF持久化
appendonly yes 
# 密码
# requirepass 123456

3、编写docker-compose.yml文件

version: '3'
services:
  redis: # 服务名称
    image: redis:latest # redis镜像版本
    container_name: redis # 容器名称
    ports:
      - 6379:6379 # 指定宿主机端口与容器端口映射关系,宿主机:容器
    volumes:
      - ./conf/redis.conf:/etc/redis/redis.conf # 映射配置文件目录,宿主机:容器
      - ./data:/data # 映射数据目录,宿主机:容器
    restart: always # 容器开机自启
    privileged: true # 获取宿主机root权限
    command: ["redis-server","/etc/redis/redis.conf"] # 指定配置文件启动redis-server进程

4、启动容器

        使用docker-compose up启动容器:

        使用命令docker exec -it redis redis-cli,进入容器测试:

三、docker-compose部署springboot项目

1、下载jdk镜像

        这里以 jdk8 为例(其他版本一样的操作),直接搜索 jdk8 镜像,选择一个下载即可。

        目录结构如下:

 

2、编写docker-compose.yml文件

version: '3'
services:
  demo:
    build: ./demo
    volumes:
      - ./demo/logs:/usr/local/logs
    ports:
      - 8082:8082

3、编写 Dockerfile

# 基础镜像
FROM dockette/jdk8
# 拷贝jar包到容器中
COPY jx-project-manager.jar /usr/local/demo.jar
# 容器工作目录
WORKDIR /usr/local
# 设置字符集
ENV LANG C.UTF-8
# 启动命令(注意,这里一定要用ENTRYPOINT,不能用CMD)
ENTRYPOINT ["java", "-jar", "/usr/local/demo.jar"]

4、启动容器

        启动成功使用接口测试工具测试。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1995076.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【电控笔记z56】ADRC回路设计(与smo比较)

用在IPM ADRC 估测反电动势 参数变动 : 内部扰动 SMO : 有高频成分 需要低通滤波器滤去 - 需要补偿延迟 两轴同步旋转坐标下做adrc adrc适合去做变化速度比较低的扰动 ADRC : 估测高速变化的扰动 , 需要修改估测器 电机模型 Ld不等于Lq 式7如下蓝色框图 eso等效成一个纯积分…

基于zynq的图像视频数据采集处理项目一

基于zynq的图像视频数据采集处理项目一 文章目录 基于zynq的图像视频数据采集处理项目一1.整体的架构2.整体的时钟和复位设计3.详细方案设计3.1 ps端spi对摄像头的配置,数据的dvp口截断输入3.2 看手册对 IMX2221080P 模式图像解析3.3 拜耳图像格式转换为 RGB 图像3.…

两地三中心异地多活网络

基于阿里云洛神网络全球基础设施及云原生SDN技术,帮助企业客户在云上快速构建两地三中心跨域多活网络,保障企业核心业务在全球多地域的高品质互联。两地三中心多活网络解决方案提供了弹性、安全、高质量的网络能力,结合数据传输服务DTS轻松实…

下一个人工智能趋势令人恐惧

在技​​术进步的昏暗走廊中,我们站在悬崖边,凝视着广阔而难以预测的人工智能未来。 其进化过程中的每一次曲折都伴随着惊叹和恐惧的低语。当风吹过数字树木时,它讲述了各种可能性的故事,但在其歌声中交织着谨慎的音符。 下一个人…

C语言随机数小游戏

目录 前言 一、游戏要求: 二、游戏实现 1.游戏界面 2.游戏主体 3.主函数 4.运行结果: 总结 前言 前面我们学到了C语言随机数的相关知识,我们今天用这个知识做一个有趣的小游戏,会有一点函数的知识,不过后面会…

WPF中的图形对象

前言 在WPF中可以根据需要在前台绘制自己所需要的几何开状,可设置性很丰富,而且在xaml中很好的实时性,如果是设计时还可以考虑使用Blend for Visual Studio来添加元素,它的设计交互性更高。 1、形状基类Shape 为 Ellipse、Poly…

ATG(地空通信)

█ 到底什么是ATG? ATG,就是Air To Ground,空对地通信,也叫地空通信。 它是一种非常特殊的通信技术,专门为天上的飞机提供服务。 简单来说,就是沿着飞机的航线,设置大量的地面基站。基站天线…

Simulink函数如何绑定到状态

Simulink函数的绑定行为 当Simulink函数位于某个状态内时,该函数会绑定到该状态。绑定会导致以下行为: 函数调用只能在状态操作和状态及其子状态内的转换中发生。 当进入状态时,该功能启用。 当状态退出时,该功能被禁用。 例如&…

Mysql——一条SQL语句的执行流程

一、Mysql的体系结构 架构图: Mysql的体系结构主要分为以下几层: 1. Connectors 连接层:负责处理客户端的请求连接。 系统在访问Mysql的服务器之前会先与服务器建立TCP连接,连接成功后Mysql会对TCP传输过来的用户信息做权限验…

新型技术融合推动渲染技术的发展

随着计算机图形学的不断进步,渲染技术作为其核心组成部分,正经历着前所未有的变革与发展。在未来的几年中,AI、量子计算以及新型硬件技术的融合,将为渲染技术带来革命性的突破,进一步推动其在影视制作、游戏设计、建筑…

爬虫基础2

网页请求原理: 在浏览器上输入一个网址,计算机是不理解这个信息的,会向运营商服务器发送请求告知输入网址的IP地址,然后根据IP地址向对应的服务器发送请求,服务器就会返回一个HTML文件,浏览器会解析HTML文件,即我们看到的网页 根据层级关系来进行爬虫 在python里面相同的缩进表…

职场要懂“3不急”,否则走不远

在职场中,我们经常会遇到各种各样的人和事,有的同事能够得到领导的重视和喜爱,有的则始终处于“不温不火”的状态,这其中到底是什么原因导致的呢? 其实,很大一部分原因是因为在工作中犯了一些“急于表现”…

少儿编程 2024年6月scratch四级 电子学会图形化编程等级考试四级真题和答案解析(判断题)

2024年6月scratch编程等级考试四级真题 判断题(共10题,每题2分,共20分) 11、机器人程序如下图所示,当输入行动代码为”WWDDSSAA”时,机器人绘制的行动轨迹如下右图所示 答案:错 考点分析&…

【面试题】设计模式-责任链模式

设计模式-责任链模式 前言责任链简历案例代码小结 前言 我们知道,设计模式是面试时经常被问到的问题之一,这是因为设计模式能够体现出代码设计的美感,且在很多框架的底层也都会使用到各种设计模式,所以对设计模式的考察&#xff…

GNSS天线误差改正

根据原理解析了PPPH中关于天线误差改正部分的源代码,处理了卫星、接收机天线相位中心偏差、接收机天线高误差、天线相位缠绕误差,但是对于天线相位中心变化PCV误差并没有处理,该误差与卫星高度角方位角有关,在读取天线文件数据后需…

PDF转Markdown的利器(MinerU版)

嘿,技术爱好者们!今天,我要向你们介绍一个令人兴奋的开源项目——MinerU,这是一个一站式的高质量数据提取工具,它支持从PDF、网页和多格式电子书中提取数据。 MinerU:一站式开源数据提取工具 自制ModelSco…

09 DMA配合ADC多通道

[TOG] 前言 前面介绍了ADC数模转换,得到了内部的温度值和外部电压值,我感觉这样太消耗CPU的资源了,所以我准备用DMA来帮我从AD的数据寄存器中拿出数据出来,就不用再去读取AD的数据寄存器了。 一、什么是DMA DMA叫做直接存储器…

从分散到集中:TSINGSEE青犀EasyCVR视频汇聚网关在视频整体监控解决方案中的整合作用

边缘计算视频汇聚网关是基于开放式、大融合、全兼容、标准化的设计架构理念,依据《安全防范视频监控联网系统信息传输、交换、控制技术要求》(GB/T28181-2011)标准开发,集流媒体转发、视频编码、视频管理、标准通信协议、网络穿透…

【MAUI】系统主题方案

文章目录 概述具体AppThemeBindingResourceDictionaryApplication.Current.Resources.MergedDictionariesDynamicResource 来源 概述 主要有两种:AppThemeBinding 和ResourceDictionaryApplication.Current.Resources.MergedDictionariesDynamicResource 具体 Ap…

视频美颜SDK的核心技术与直播美颜插件的开发详解

本篇文章,小编将深入探讨视频美颜SDK的核心技术以及如何开发高效的直播美颜插件。 一、视频美颜SDK的核心技术 视频美颜SDK的核心在于其实时图像处理能力,它通过一系列复杂的算法,实现对视频图像的增强和优化。以下是几项关键技术&#xff…