部署docker环境并安装mysql,redis

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 部署docker环境并安装mysql,redis

Docker环境


yum安装docker


第一步
yum install -y yum-utils \
        device-mapper-persistent-data \
        lvm2
第二步使用阿里云镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum makecache fast
第三步安装
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker systemctl enable docker 
docker run hello-world

image.png


配置加速器


配置加速器能让镜像下载速度更快,这个要开通才有

image.png


sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://..........mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker


安装Mysql


固定的套路,后面的-v参数是对容器卷进行挂载,使得我们操作本地对应的容器卷文件就可以控制容器内部的文件,下面会有详细的解释。不必死记硬背,重要的是理解理解!!!

docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7
  • -p 3306:3306:端口映射,本地3306映射容器内3306
  • -v /mydata/mysql/conf:/etc/mysql:将容器配置文件夹/etc/mysql,挂在到主机/mydata/mysql/conf
  • -v /mydata/mysql/log:/var/log/mysql:将日志文件夹/var/log/mysql挂载到主机/mydata/mysql/log
  • -v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
  • -e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码

MySQL 配置

每一步都不可少,这里主要是对mysql编码设置,因为mysql默认是拉丁编码,是不能识别中文的

vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve #跳过域名解析


允许远程登录


docker exec -it mysql mysql -uroot -proot grant all privileges on . to 'root'@'%' identified by 'root' with grant option;

flush privileges;


Mysql本地连接失败


  • pc和vm能互相ping通
  • 关闭firewalld,或放开端口
  • 打开ipv4转发
  • vi /etc/sysctl.conf net.ipv4.ip_forward=1 #添加此行配置
  • systemctl restart network && systemctl restart docker
  • sysctl net.ipv4.ip_forward
  • 如果返回为“net.ipv4.ip_forward = 1”则表示修改成功


安装Redis


docker run -p 6379:6379 --name redis -v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
  • -p 6379:6379:端口映射,本地6379映射容器内6379
  • -v /mydata/redis/data:/data 将容器数据文件夹/data,挂在到主机/mydata/redis/data
  • -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf 将容器配置文件夹/etc/redis/redis.conf,挂在到主机/mydata/redis/conf/redis.conf



相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
5天前
|
缓存 NoSQL 关系型数据库
13- Redis和Mysql如何保证数据⼀致?
该内容讨论了保证Redis和MySQL数据一致性的几种策略。首先提到的两种方法存在不一致风险:先更新MySQL再更新Redis,或先删Redis再更新MySQL。第三种方案是通过MQ异步同步以达到最终一致性,适用于一致性要求较高的场景。项目中根据不同业务需求选择不同方案,如对一致性要求不高的情况不做处理,时效性数据设置过期时间,高一致性需求则使用MQ确保同步,最严格的情况可能涉及分布式事务(如Seata的TCC模式)。
29 6
|
12天前
|
存储 测试技术 Linux
【Docker项目实战】使用Docker部署bender个人仪表板
【4月更文挑战第2天】使用Docker部署bender个人仪表板
24 1
|
14天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
71 0
|
3天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署Seatsurfing预订座位系统
【4月更文挑战第12天】使用Docker部署Seatsurfing预订座位系统
12 3
|
6天前
|
JavaScript 前端开发 Docker
全栈开发实战:结合Python、Vue和Docker进行部署
【4月更文挑战第10天】本文介绍了如何使用Python、Vue.js和Docker进行全栈开发和部署。Python搭配Flask创建后端API,Vue.js构建前端界面,Docker负责应用的容器化部署。通过编写Dockerfile,将Python应用构建成Docker镜像并运行,前端部分使用Vue CLI创建项目并与后端交互。最后,通过Nginx和另一个Dockerfile部署前端应用。这种组合提升了开发效率,保证了应用的可维护性和扩展性,适合不同规模的企业使用。
|
6天前
|
关系型数据库 MySQL 数据库
docker自定义安装mysql 5.7
docker自定义安装mysql 5.7
14 0
|
10天前
|
测试技术 Linux 数据安全/隐私保护
【Docker项目实战】使用Docker部署PicoShare共享文件平台
【4月更文挑战第5天】使用Docker部署PicoShare共享文件平台
45 4
|
14天前
|
测试技术 Linux Docker
Docker部署RPG网页小游戏
Docker部署RPG网页小游戏
43 2
|
7天前
|
关系型数据库 MySQL 数据库
mysql卸载、下载、安装(window版本)
mysql卸载、下载、安装(window版本)