【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)
系列目录:
【Docker】 CentOS7 安装 Docker 及其使用方法 ( 一 )
【Docker】 使用Docker 在阿里云 Centos7 部署 MySQL 和 Redis (二)
【Docker】 .Net Core 3.1 webapi 集成EF Code First,使用MySql进行业务操作 、配置swagger (三)
.......持续不定期更新中
前期准备: 阿里云服务器一台,连接工具MobaXterm。
安装Docker的方法:https://www.cnblogs.com/simawenbo/p/13644326.html
部署MySQL
1.拉取镜像
docker pull mysql
docker pull mysql:版本号
2.创建容器
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /usr/local/docker/mysql/logs:/var/log/mysql \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-d mysql --lower_case_table_names=1
-p 映射端口号
-e 设置密码
-name 设置容器名称发
-d 所用镜像
-v 把容器内部文件挂载至宿主机中,方便修改。
--lower_case_table_names=1 忽略表名大小写,存储都用小写,不加可能无法正常启动
3.修改my.inf文件
执行完第2步后会发现有报错,因为my.cnf没有配置成功。
删除宿主机 /usr/local/docker/mysql/conf/ 中的 my.cnf 文件夹,并在 /usr/local/src/mysql/conf/ 新建my.cnf文件,文件内容如下所示:
[client]
default-character-set=utf8mb4 [mysql]
default-character-set=utf8mb4 [mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
max_connections=10000
default-time_zone='+8:00'
character-set-client-handshake=FALSE
character_set_server=utf8mb4
collation-server=utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci'
# Custom config should go here
!includedir /etc/mysql/conf.d/
4. 开启容器
Docker start mysql
5. 进入容器,登录MySQL
docker exec -it mysql bash
mysql -uroot -p
6. 配置密码并配置远程访问权限,刷新系统。
alter user 'root'@'localhost' identified with mysql_native_password by '新密码';
flush privileges;
7.新建一个用户用于远程访问,并给这个用户访问权限。
CREATE USER '新用户名称'@'%' IDENTIFIED WITH mysql_native_password BY '新密码';
GRANT ALL PRIVILEGES ON *.* TO '新用户名'@'%';
8.在客户端电脑访问阿里云上的数据库
ps.在阿里云上需要放通3306端口!如果连不上请检查云服务器网络安全组设置!
部署Redis
1.拉取镜像
docker pull redis
2.在宿主机准备映射文件,修改映射配置文件
redis的配置文件 redis.conf 官网下载: http://download.redis.io/redis-stable/redis.conf
在/usr/local/docker/redis 目录下创建配置文件,并将官网redis.conf文件配置复制下来进行修改
在/usr/local/docker/redis 目录下创建目录data
3.修改启动默认配置(从上至下依次):
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no #默认no,改为yes意为以守护进程方式启动,可后台运行,改为yes会使配置文件方式启动redis失败(因为run docker的时候已经用了-d 有冲突)
databases 16 #数据库个数(可选)。
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)
requirepass 密码 #配置redis访问密码
4.创建容器
docker run -p 6379:6379 --name redis \
-v /usr/local/docker/redis/redis.conf:/etc/redis/redis.conf \
-v /usr/local/docker/redis/data:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes
命令解释说明:
-p 端口映射。
–name 指定该容器名称。
-v 挂载目录。
-d redis 表示后台启动redis。
redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,加载的是挂载目录/usr/local/docker/redis/redis.conf 文件。
–appendonly yes 开启redis 持久化。
5.访问redis
进入容器
docker exec -it redis bash
然后登录redis
redis-cli
ps.查看日志命令为:docker logs -f -t --tail 100 redis
-f : 跟踪日志输出
-t : 显示时间戳
--tail 100 : 显示最新100行
redis : 容器名
最新文章
- SecurityError Error 2148 SWF 不能访问本地资源
- mapreduce 模板
- tomcat简单文服
- Git学习(1)Git 简介
- quartz集群调度机制调研及源码分析---转载
- JavaScript DOM实战:创建和克隆元素
- salt 批量部署与配置
- 【Cocos2d-X开发学习笔记】第21期:动画类(CCAnimate)的使用
- vlist java实现-转
- Qt - 与众不同的电子时钟
- 注意题目条件!!! 团问题 HDU 5952
- android 自定义view之侧滑效果
- MO_GLOBAL - EBS R12 中 Multi Org 设计的深入研究(1)
- goaccess
- C#使用Ado.Net读写数据库
- poj3376 Finding Palindromes【exKMP】【Trie】
- 解决libc.so.6: version `GLIBC_2.14&;#39; not found问题
- 分享一个excel根据文件超链接获取链接文档的最后更新时间
- unittest单元测试
- 一个完整的用java客户端使用httpClient请求网页并返回的方法
热门文章
- IL角度理解for 与foreach的区别——迭代器模式
- 【xingorg1-ui】基于vue3.0从0-1搭建组件库(一)环境配置与目录规划
- linux 协议栈 实现--编码小知识分析
- 如何统计Ceph的RBD真实使用容量
- 01、MyBatis HelloWorld
- 利用requestes\pyquery\BeautifulSoup爬取某租房公寓(深圳市)4755条租房信息及总结
- web安全原理分析-SQL注入漏洞全解
- 总是说spring难学?来看完这些spring的注解及其解释,真香!
- FL Studio带你走进混音的世界
- 地图上显示点在点上标注当前点的id