docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > Docker一键部署MySQL和Redis

Docker一键部署MySQL和Redis数据库的实现

作者:特立独行的猫a

MySQL和Redis作为两种广泛使用的数据库系统,本文主要介绍了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的服务,以及它们之间的网络配置和持久化存储设置。

version: "3"

# 声明一个名为 'network' 的网络,配置子网和默认网关
networks:
  network:
    ipam:
      driver: default
      config:
        - subnet: '177.7.0.0/16'

# 定义MySQL和Redis的持久化存储卷
volumes:
  mysql:
  redis:

# 定义服务
services:
  mysql:
    image: mysql:8.0.21
    container_name: gva-mysql
    command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    restart: always
    ports:
      - "13306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: 'Aa@6447985' # 设置root用户密码
      MYSQL_DATABASE: 'qmPlus'
      MYSQL_USER: 'gva'
      MYSQL_PASSWORD: 'Aa@6447985'
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "gva", "-pAa@6447985"]
      interval: 10s
      timeout: 5s
      retries: 3
    volumes:
      - mysql:/var/lib/mysql # 将MySQL的data目录挂载到volume上,实现数据持久化
      - ./init.sql:/docker-entrypoint-initdb.d/init.sql # 初始化脚本
    networks:
      network:
        ipv4_address: 177.7.0.13 # 指定MySQL容器的IP地址

  redis:
    image: redis:6.0.6
    container_name: gva-redis
    restart: always
    ports:
      - '16379:6379'
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping | grep PONG || exit 1"]
      interval: 10s
      timeout: 5s
      retries: 3
    volumes:
      - redis:/data # 将Redis的数据目录挂载到volume上,实现数据持久化
    networks:
      network:
        ipv4_address: 177.7.0.14 # 指定Redis容器的IP地址

3.1 配置解释

注意:这里创建的用户gva配置允许从177.7.0.1进行连接,这个是容器网络的网关地址。为什么要配置为它?是为了让容器外的宿主机能够通过13306端口连接。

四、启动服务

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

五、停止服务

若需要停止并移除所有由docker-compose.yml文件定义的容器,可以使用以下命令:

docker-compose down

六、总结

通过本文,您已经了解了如何利用Docker Compose实现MySQL和Redis的一键部署,包括Docker和Docker Compose的安装、docker-compose.yml文件的编写以及服务的启动与停止。

这种方法不仅简化了数据库服务的配置和管理,还确保了数据的安全性。

到此这篇关于Docker一键部署MySQL和Redis数据库的实现的文章就介绍到这了,更多相关Docker一键部署MySQL和Redis内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文