适用于个人开发快速部署中间件

先定义一下docker-compose.yaml 文件,在当前目下可用一下命令
启动命令 docker-compose up -d
关闭命令 docker-compose down
version: '2.2'
services:#redis容器 - Redis containerredis:image: redis:6.2.5container_name: redisports:- 36379:6379environment:# 时区上海 - Time zone Shanghai (Change if needed)TZ: Asia/Shanghaivolumes:# 数据文件 - data files- ./data/redis/data:/data:rw- # 注意这里需要先  /usr/local/app/redis/conf  新建redis.conf文件  redis.conf文件可从http://www.redis.cn/下载- ./data/redis/data/redis.conf:/usr/local/etc/redis/redis.conf- ./data/redis/data/logs:/logscommand: "redis-server /usr/local/etc/redis/redis.conf --requirepass G62m50oigInC30sf  --appendonly yes"privileged: truerestart: alwaysnetworks:- mywebmysql:image: mysql/mysql-server:8.0.28container_name: mysqlenvironment:# 时区上海 - Time zone Shanghai (Change if needed)TZ: Asia/Shanghai# root 密码 - root passwordMYSQL_ROOT_PASSWORD: PXDN93VRKUm8TeE7ports:- 3305:3306volumes:# 数据挂载 - Data mounting- ./data/mysql/data:/var/lib/mysql# 日志command:# 将mysql8.0默认密码策略 修改为 原先 策略 (mysql8.0对其默认策略做了更改 会导致密码无法匹配)# Modify the Mysql 8.0 default password strategy to the original strategy (MySQL8.0 to change its default strategy will cause the password to be unable to match)--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--explicit_defaults_for_timestamp=true--lower_case_table_names=1privileged: truerestart: alwaysnetworks:- mywebnetworks:myweb:driver: bridge

启动之后项目里会有这样的文件夹

redis 的客户端连接,需要根据将127.0.0.1 改成0.0.0.0 即可外部客户端连接

可参考我写的redis.conf

// An highlighted block# 是否以后台进程运行
daemonize yes# pid文件位置
pidfile /var/run/redis/redis-server.pid# 监听端口
port 6379# 绑定地址,如外网需要连接,设置0.0.0.0
bind 0.0.0.0# 连接超时时间,单位秒
timeout 300##日志级别,分别有:
# debug :适用于开发和测试
# verbose :更详细信息
# notice :适用于生产环境
# warning :只记录警告或错误信息
loglevel notice# 日志文件位置
logfile /var/log/redis/redis-server.log# 是否将日志输出到系统日志
syslog-enabled no# 设置数据库数量,默认数据库为0
databases 16############### 快照方式 ################ 在900s(15m)之后,至少有1个key发生变化,则快照
save 900 1# 在300s(5m)之后,至少有10个key发生变化,则快照
save 300 10# 在60s(1m)之后,至少有1000个key发生变化,则快照
save 60 10000# dump时是否压缩数据
rdbcompression yes# 数据库(dump.rdb)文件存放目录
dir /var/lib/redis############### 主从复制 ################主从复制使用,用于本机redis作为slave去连接主redis
slaveof <masterip> <masterport>#当master设置密码认证,slave用此选项指定master认证密码
masterauth <master-password>#当slave与master之间的连接断开或slave正在与master进行数据同步时,如果有slave请求,当设置为yes时,slave仍然响应请求,此时可能有问题,如果设置no时,slave会返回"SYNC with master in progress"错误信息。但INFO和SLAVEOF命令除外。
slave-serve-stale-data yes############### 安全 ################配置redis连接认证密码
requirepass G62m50oigInC30sf############### 限制 ################设置最大连接数,0为不限制
maxclients 128##内存清理策略,如果达到此值,将采取以下动作:
# volatile-lru :默认策略,只对设置过期时间的key进行LRU算法删除
# allkeys-lru :删除不经常使用的key
# volatile-random :随机删除即将过期的key
# allkeys-random :随机删除一个key
# volatile-ttl :删除即将过期的key
# noeviction :不过期,写操作返回报错
maxmemory <bytes># 如果达到maxmemory值,采用此策略
maxmemory-policy volatile-lru# 默认随机选择3个key,从中淘汰最不经常用的
maxmemory-samples 3############### 附加模式 ################ AOF持久化,是否记录更新操作日志,默认redis是异步(快照)把数据写入本地磁盘
appendonly no# 指定更新日志文件名
appendfilename appendonly.aof## AOF持久化三种同步策略:
# appendfsync always  #每次有数据发生变化时都会写入appendonly.aof
# appendfsync everysec #默认方式,每秒同步一次到appendonly.aof
# appendfsync no    #不同步,数据不会持久化# 当AOF日志文件即将增长到指定百分比时,redis通过调用BGREWRITEAOF是否自动重写AOF日志文件。
no-appendfsync-on-rewrite no############### 虚拟内存 ################ 是否启用虚拟内存机制,虚拟内存机将数据分页存放,把很少访问的页放到swap上,内存占用多,最好关闭虚拟内存
vm-enabled no# 虚拟内存文件位置
vm-swap-file /var/lib/redis/redis.swap# redis使用的最大内存上限,保护redis不会因过多使用物理内存影响性能
vm-max-memory 0# 每个页面的大小为32字节
vm-page-size 32# 设置swap文件中页面数量
vm-pages 134217728# 访问swap文件的线程数
vm-max-threads 4############### 高级配置 ################ 哈希表中元素(条目)总个数不超过设定数量时,采用线性紧凑格式存储来节省空间
hash-max-zipmap-entries 512# 哈希表中每个value的长度不超过多少字节时,采用线性紧凑格式存储来节省空间
hash-max-zipmap-value 64# list数据类型多少节点以下会采用去指针的紧凑存储格式
list-max-ziplist-entries 512# list数据类型节点值大小小于多少字节会采用紧凑存储格式
list-max-ziplist-value 64# set数据类型内部数据如果全部是数值型,且包含多少节点以下会采用紧凑格式存储
set-max-intset-entries 512# 是否激活重置哈希
activerehashing yes

mysql外部客户端连接,先进入该容器,然后密码登陆, 修改用户名root,最后刷新


docker container ls
docker exec -it 容器id bash
mysql -u root -p
use mysql;
update user set Host = '%' where Host = 'localhost' and User='root';
flush privileges;

最后,将云服务器的安全组放开相对应的端口(本文是3305、36379),用宝塔的需要在安全里把端口放行其他的防火墙同理。
到此,Linux上的mysql、redis的快速搭建已经完成,可使用Windows的客户端工具进行连接开发…

docker-compose快速启动mysql和redis(提供外部客户端可连接)相关推荐

  1. mac mysql docker_Mac上使用Docker如何快速启动MySQL测试

    本文主要讨论使用docker快速启动 MySQL 测试的方法,包括Mac环境.一起看看吧! 近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的"入门"或&qu ...

  2. docker 测试mysql_Mac上使用Docker快速启动MySQL测试

    本文主要讨论如何使用Docker快速启动 MySQL 测试,包括Mac环境. 近来业界有很多对Docker的讨论,其生态系统发展得很快,然而,从简单的"入门"或"引导&q ...

  3. Openstack技术\在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server

    MySQL部署 在Docker容器中部署MySQL,并通过外部mysql客户端操作MySQL Server. 操作步骤: 搜索mysql镜像 拉取mysql镜像 创建容器 操作容器中的mysql 容器 ...

  4. 我的docker随笔17:使用docker-compose启动MySQL、Redis和Mongo

    一.背景 有网友咨询用docker-compose启动几个存储服务,这些服务包括了MySQL.Redis.Mongo.恰好笔记没做过这一方面,趁机会学习一下. 二.要求 需要启动的docker如下: ...

  5. 使用docker-compose启动MySQL、Redis和Mongo

    一.背景 有网友咨询用docker-compose启动几个存储服务,这些服务包括了MySQL.Redis.Mongo.恰好笔记没做过这一方面,趁机会学习一下. 二.要求 需要启动的docker如下: ...

  6. Docker安装Tomcat、MySQL和Redis

    总体步骤 Docker安装Tomcat docker hub上查找tomcat镜像 docker search tomcat 从docker hub上拉取tomcat镜像到本地 docker pull ...

  7. docker安装及启动mysql服务

    目录 1.docker安装mysql 2.连接数据库 1.docker安装mysql 前提:确保自己的服务器已经安装好了docker (1)输入命令,查看docker, docker info 或 d ...

  8. mac开机启动mysql_新Mac 开机启动MySQL/MongoDB/Redis 等服务

    brew install mysql 它会将所有的包安装到/usr/local/Cellar/目录下,并将文件软连接到/usr/local/ 安装完成后你需要到/usr/local/Cellar/my ...

  9. 服务器引导顺序,docker compose 服务启动顺序控制的方法

    概要 docker-compose 可以方便组合多个 docker 容器服务, 但是, 当容器服务之间存在依赖关系时, docker-compose 并不能保证服务的启动顺序. docker-comp ...

最新文章

  1. RDKit | 基于RDKit的MaxMin方法选择高度多样化的库
  2. SAP项目里的关键用户,兼职还是专职?
  3. hdu5446(2015长春网络赛J题)
  4. Redis _面试经典
  5. 《关于gevent的几点思考》阅读笔记
  6. python免费开源工具推荐_年薪200万的程序员,推荐这10大Python免费开源工具!
  7. 20181211HW
  8. 微软CEO:别被Google的TPU诱惑,Kinect“复活” | Build 2018
  9. IO 设备的分类与概念、IO控制器
  10. NIOS软核处理器入门实验
  11. 春夏喝绿茶花茶、秋冬喝乌龙普洱红茶
  12. pid是滞后超前校正_如何理解超前补偿、滞后补偿、超前滞后补偿?
  13. 硬盘安装工具cgi3.2_笔记本旧硬盘改造移动硬盘,满足媳妇办公存储需求
  14. 华为RH2288V3服务器不重构RAID扩容磁盘方法
  15. 联合概率和条件概率的区别和联系
  16. The Java™ Tutorials下载地址
  17. 能量谷算法Energy Valley Optimizer (EVO)附matlab代码
  18. 分析图第二讲导出图片和后期PS5.12
  19. 高数 | 【概念剖析】一元、二元微分,连续、可微、可偏导、偏导连续的超强通俗解析!
  20. 【Stable Diffusion/NovelAI Diffusion的AMD GPU加速推理探索】

热门文章

  1. OGG|利用 OGG 迁移 Oracle11g 到 19C
  2. uiautomation函数讲解(中)
  3. win8激活及bootMGR is missing问题的解决
  4. OpenStack Magnum 分析
  5. 09 Python之Pandas库之数据处理与规整
  6. arduino常用库收集
  7. 论文 计算机动态网页的制作,计算机动态网页设计中多元素应用网页设计论文(范文1)...
  8. 【电子刊物制作】名编辑电子杂志大师教程 | 设置多国语言浏览界面
  9. 超精简R2S固件折腾过程
  10. 基本数据结构(int,布尔,字符串,列表)