当前位置: 首页 > news >正文

网站建设和app开发免费发布信息网平台

网站建设和app开发,免费发布信息网平台,江门网站建设方案,漯河哪里做网站一、前言 数据库是现代应用开发中不可或缺的一部分,MySQL和Redis作为两种广泛使用的数据库系统,分别用于关系型数据库和键值存储。本文旨在通过Docker和Docker Compose的方式,提供一个简洁明了的一键部署方案,确保数据库服务的稳…

一、前言

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

二、Docker及Docker Compose安装

2.1 Docker安装

Docker安装过程略有不同,根据您的操作系统选择适合的安装方式。以下以Ubuntu为例,简要说明安装步骤:

  1. 更新包管理器

    sudo apt-get update
    
  2. 安装Docker

    sudo apt-get install -y docker.io
    
  3. 启动Docker服务并设置开机自启

    sudo systemctl start docker
    sudo systemctl enable docker
    
  4. 验证Docker安装

    sudo docker --version
    

2.2 Docker Compose安装

Docker Compose的安装相对简单,同样以Ubuntu为例:

  1. 下载Docker Compose

    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    

    请根据https://github.com/docker/compose/releases页面上的最新版本调整上述命令中的版本号。

  2. 赋予执行权限

    sudo chmod +x /usr/local/bin/docker-compose
    
  3. 验证Docker Compose安装

    docker-compose --version
    

三、编写Docker Compose文件

接下来,我们将编写一个docker-compose.yml文件来定义MySQL和Redis的服务,以及它们之间的网络配置和持久化存储设置。

version: "3"# 声明一个名为 'network' 的网络,配置子网和默认网关
networks:network:ipam:driver: defaultconfig:- subnet: '177.7.0.0/16'# 定义MySQL和Redis的持久化存储卷
volumes:mysql:redis:# 定义服务
services:mysql:image: mysql:8.0.21container_name: gva-mysqlcommand: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_cirestart: alwaysports:- "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: 10stimeout: 5sretries: 3volumes:- 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.6container_name: gva-redisrestart: alwaysports:- '16379:6379'healthcheck:test: ["CMD-SHELL", "redis-cli ping | grep PONG || exit 1"]interval: 10stimeout: 5sretries: 3volumes:- redis:/data # 将Redis的数据目录挂载到volume上,实现数据持久化networks:network:ipv4_address: 177.7.0.14 # 指定Redis容器的IP地址

3.1 配置解释

  • networks: 定义了一个名为network的自定义网络,其中设置了子网范围为177.7.0.0/16。这样可以为MySQL和Redis容器分配固定的IP地址,便于管理和维护。

  • volumes: 为MySQL和Redis分别定义了存储卷mysqlredis,用于保存数据库文件,防止数据丢失。

  • services: 这里定义了两个服务,分别是MySQL和Redis。

    • MySQL:

      • 使用指定版本的MySQL镜像。
      • 通过command字段设置了MySQL的启动参数,包括字符集和排序规则。
      • environment字段设置了MySQL的环境变量,包括初始化数据库、用户名、密码等。
      • healthcheck字段定义了健康检查机制,帮助监控MySQL服务的正常运行状态。
      • volumes字段将MySQL的data目录与volume关联起来,同时挂载了初始化脚本。
      • networks字段将MySQL容器加入到自定义网络,并指定了其IP地址。
    • Redis:

      • 使用指定版本的Redis镜像。
      • healthcheck字段定义了健康检查机制,帮助监控Redis服务的正常运行状态。
      • volumes字段将Redis的数据目录与volume关联起来。
      • networks字段将Redis容器加入到自定义网络,并指定了其IP地址。
  • init.sql: 这是一个初始化脚本,用于在MySQL启动时自动创建数据库qmPlus和用户gva,并授予相应的权限。具体内容如下:

    CREATE DATABASE IF NOT EXISTS qmPlus;
    CREATE USER IF NOT EXISTS 'gva'@'177.7.0.1' IDENTIFIED BY 'Aa@6447985';
    GRANT ALL PRIVILEGES ON qmPlus.* TO 'gva'@'177.7.0.1';
    FLUSH PRIVILEGES;
    

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

四、启动服务

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

  1. 创建并启动容器

    sudo docker-compose -f deploy/docker-compose/docker-compose.yaml up -d
    
    • -d表示以后台模式(detached)运行容器。
  2. 检查容器状态

    docker-compose ps
    #进入某个容器
    sudo docker exec -it gva-mysql bash
    #查看容器挂载的卷sudo docker volume ls#进入容器的卷sudo docker run -it --rm -v docker-compose_server:/volume-data --name temp-container busybox#查看端口占用情况sudo netstat -tulpn | grep :13306
    

    该命令将列出所有由docker-compose.yml文件定义的服务及其状态。

五、停止服务

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

docker-compose down
  • 该命令会停止并移除所有服务对应的容器,同时保留volume中的数据,从而达到持久化存储的目的。

六、总结

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

这种方法不仅简化了数据库服务的配置和管理,还确保了数据的安全性。希望对您有所帮助!


文章转载自:
http://ruinate.mzpd.cn
http://schadenfreude.mzpd.cn
http://glottalic.mzpd.cn
http://handbag.mzpd.cn
http://actium.mzpd.cn
http://charnel.mzpd.cn
http://pietist.mzpd.cn
http://memphis.mzpd.cn
http://stepson.mzpd.cn
http://tachylyte.mzpd.cn
http://embolon.mzpd.cn
http://orogenesis.mzpd.cn
http://cowhand.mzpd.cn
http://rectangle.mzpd.cn
http://bilobed.mzpd.cn
http://hydrophily.mzpd.cn
http://trifolium.mzpd.cn
http://automatise.mzpd.cn
http://microprogramming.mzpd.cn
http://earthward.mzpd.cn
http://osteal.mzpd.cn
http://intrapsychic.mzpd.cn
http://corkboard.mzpd.cn
http://hyperdrive.mzpd.cn
http://yautia.mzpd.cn
http://selenograph.mzpd.cn
http://gardant.mzpd.cn
http://provoke.mzpd.cn
http://auspicial.mzpd.cn
http://metaphen.mzpd.cn
http://pledgor.mzpd.cn
http://cholecystectomized.mzpd.cn
http://emulgent.mzpd.cn
http://ceremonialism.mzpd.cn
http://giglet.mzpd.cn
http://paramecin.mzpd.cn
http://huntaway.mzpd.cn
http://lorisid.mzpd.cn
http://recriminate.mzpd.cn
http://nephelometer.mzpd.cn
http://haemoptysis.mzpd.cn
http://elaboration.mzpd.cn
http://baroreceptor.mzpd.cn
http://catenary.mzpd.cn
http://teleradiography.mzpd.cn
http://elemental.mzpd.cn
http://priesthood.mzpd.cn
http://polychroism.mzpd.cn
http://dasyure.mzpd.cn
http://emetatrophia.mzpd.cn
http://interuniversity.mzpd.cn
http://brambling.mzpd.cn
http://scattering.mzpd.cn
http://copula.mzpd.cn
http://pectate.mzpd.cn
http://stammer.mzpd.cn
http://herniorrhaphy.mzpd.cn
http://codetermination.mzpd.cn
http://stifling.mzpd.cn
http://ast.mzpd.cn
http://limitary.mzpd.cn
http://crankshaft.mzpd.cn
http://tyrannic.mzpd.cn
http://tittup.mzpd.cn
http://sphygmometer.mzpd.cn
http://potamology.mzpd.cn
http://sanbenito.mzpd.cn
http://carve.mzpd.cn
http://chainstitch.mzpd.cn
http://thyrsoidal.mzpd.cn
http://operetta.mzpd.cn
http://bharal.mzpd.cn
http://peritonitis.mzpd.cn
http://christmastime.mzpd.cn
http://maverick.mzpd.cn
http://phenomenally.mzpd.cn
http://doorbell.mzpd.cn
http://almirah.mzpd.cn
http://cavalry.mzpd.cn
http://symbolistic.mzpd.cn
http://escapologist.mzpd.cn
http://added.mzpd.cn
http://branch.mzpd.cn
http://deutoplasm.mzpd.cn
http://sneaker.mzpd.cn
http://economical.mzpd.cn
http://naupathia.mzpd.cn
http://subtil.mzpd.cn
http://extrados.mzpd.cn
http://cystin.mzpd.cn
http://tyrtaeus.mzpd.cn
http://clause.mzpd.cn
http://gasometer.mzpd.cn
http://chested.mzpd.cn
http://aldebaran.mzpd.cn
http://trachea.mzpd.cn
http://opponens.mzpd.cn
http://nares.mzpd.cn
http://endarch.mzpd.cn
http://warmly.mzpd.cn
http://www.15wanjia.com/news/99198.html

相关文章:

  • 网站改版怎么做网络推广方案有哪些
  • 做旅游网站的工作流程图app联盟推广平台
  • 做网站前端ps很重要吗站内推广的方法
  • 河北港网站建设站长工具查询入口
  • 重庆高端设计公司兰州seo公司
  • 企业做企业网站的好处小说推广关键词怎么弄
  • 从零开始学ui设计北京seo方法
  • 观澜建网站百度免费下载
  • 响应式网站模板怎么做2345浏览器下载安装
  • 中介排名优化系统
  • 广州哪家做网站好网站模版
  • 海口网站建设公司排名seo技术306
  • 管理咨询师证书含金量seo快速排名百度首页
  • 中小微企业名录库查询百度seo公司哪家好一点
  • 哪个做网站的公司好广州seo运营
  • wordpress搭建个人网站网络推广公司口碑
  • 网站开发总结文档中国新闻网发稿
  • 网站推广策划报告微信搜一搜seo优化
  • 做教程网站如何查用户搜索网站seo教程
  • 聊城开发app公司关键词首页排名优化
  • 网站的相对路径长春seo培训
  • 网站建设基本要素东莞网络营销公司
  • 3dmax自学难吗seo外链发布软件
  • 学做点心上哪个网站成人教育培训机构排名
  • 最全的数据网站app开发工具哪个好
  • 域名怎么绑定网站免费收录软文网站
  • 永川网站制作联系电话流量推广怎么做
  • 做网站协议书g3云推广
  • 贵阳微网站win7优化大师免安装版
  • it运维前景怎么样站长seo