ToB企服应用市场:ToB评测及商务社交产业平台

标题: 使用Docker方式一键部署MySQL和Redis数据库详解 [打印本页]

作者: 滴水恩情    时间: 前天 00:12
标题: 使用Docker方式一键部署MySQL和Redis数据库详解
一、前言

数据库是现代应用开辟中不可或缺的一部门,MySQL和Redis作为两种广泛使用的数据库系统,分别用于关系型数据库和键值存储。本文旨在通过Docker和Docker Compose的方式,提供一个简洁明了的一键部署方案,确保数据库服务的稳定运行与长期化存储。
二、Docker及Docker Compose安装

2.1 Docker安装

Docker安装过程略有差别,根据您的操作系统选择得当的安装方式。以下以Ubuntu为例,简要说明安装步骤:
2.2 Docker Compose安装

Docker Compose的安装相对简朴,同样以Ubuntu为例:
三、编写Docker Compose文件

接下来,我们将编写一个docker-compose.yml文件来界说MySQL和Redis的服务,以及它们之间的网络设置和长期化存储设置。
  1. version: "3"
  2. # 声明一个名为 'network' 的网络,配置子网和默认网关
  3. networks:
  4.   network:
  5.     ipam:
  6.       driver: default
  7.       config:
  8.         - subnet: '177.7.0.0/16'
  9. # 定义MySQL和Redis的持久化存储卷
  10. volumes:
  11.   mysql:
  12.   redis:
  13. # 定义服务
  14. services:
  15.   mysql:
  16.     image: mysql:8.0.21
  17.     container_name: gva-mysql
  18.     command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
  19.     restart: always
  20.     ports:
  21.       - "13306:3306"
  22.     environment:
  23.       MYSQL_ROOT_PASSWORD: 'Aa@6447985' # 设置root用户密码
  24.       MYSQL_DATABASE: 'qmPlus'
  25.       MYSQL_USER: 'gva'
  26.       MYSQL_PASSWORD: 'Aa@6447985'
  27.     healthcheck:
  28.       test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "gva", "-pAa@6447985"]
  29.       interval: 10s
  30.       timeout: 5s
  31.       retries: 3
  32.     volumes:
  33.       - mysql:/var/lib/mysql # 将MySQL的data目录挂载到volume上,实现数据持久化
  34.       - ./init.sql:/docker-entrypoint-initdb.d/init.sql # 初始化脚本
  35.     networks:
  36.       network:
  37.         ipv4_address: 177.7.0.13 # 指定MySQL容器的IP地址
  38.   redis:
  39.     image: redis:6.0.6
  40.     container_name: gva-redis
  41.     restart: always
  42.     ports:
  43.       - '16379:6379'
  44.     healthcheck:
  45.       test: ["CMD-SHELL", "redis-cli ping | grep PONG || exit 1"]
  46.       interval: 10s
  47.       timeout: 5s
  48.       retries: 3
  49.     volumes:
  50.       - redis:/data # 将Redis的数据目录挂载到volume上,实现数据持久化
  51.     networks:
  52.       network:
  53.         ipv4_address: 177.7.0.14 # 指定Redis容器的IP地址
复制代码
3.1 设置解释


留意:这里创建的用户gva设置答应从177.7.0.1进行连接,这个是容器网络的网关地址。为什么要设置为它?是为了让容器外的宿主机可以或许通过13306端口连接。
四、启动服务

在编写好docker-compose.yml文件后,即可通过Docker Compose下令来启动服务。
五、制止服务

若必要制止并移除全部由docker-compose.yml文件界说的容器,可以使用以下下令:
  1. docker-compose down
复制代码

六、总结

通过本文,您已经了解了如何利用Docker Compose实现MySQL和Redis的一键部署,包括Docker和Docker Compose的安装、docker-compose.yml文件的编写以及服务的启动与制止。
这种方法不仅简化了数据库服务的设置和管理,还确保了数据的安全性。盼望对您有所帮助!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4