Centos7.2 安装docker、mysql和redis
2024-10-15 21:40:57
环境信息
Docker是什么?
Docker就是一个平台,这个平台具备开发、发布和运行应用程序的功能,在项目生命周期中,我们可以运用Docker实现快速交付、测试和部署。Docker通过将运行环境打包成一个镜像,就可以在安装了Docker的任意平台上运行(一次构建,到处运行)。
安装Docker
centos版本推荐7以上,centos6安装docker比较麻烦。如果以前安装过docker,需要先清理:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装docker需要的工具包
sudo yum install -y yum-utils
如果提示下图内容:
这是由于当前系统没有 CentOS-Base.repo 文件,使用命令重新下载一个:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
添加yum源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装docker
// 中途需要输入y进行确认
sudo yum install docker-ce docker-ce-cli containerd.io
配置镜像加速地址(阿里云)
5.1 首先登录阿里云控制台,选择容器镜像服务
5.2 复制命令并执行
配置docker自启
systemctl enable docker
安装mysql
mysql的容器我们可以让docker创建和执行,但是mysql的数据不能仅存在容器内,需要我们开辟一个外部路径专门用来存储mysql数据。
安装mysql
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/log挂载到mysql容器的/var/log/mysql目录
-e 指定容器内的环境变量,这里是指定mysql密码为root
-d 后台运行容器,并返回容器ID
mysql:5.7 指定mysql版本,具体版本可以在https://hub.docker.com 查询验证mysql是否安装成功
docker ps
如下,如果显示了mysql就是安装成功了
开启mysql远程访问权限:
先进入mysql容器
docker exec -it mysql /bin/bash
登录mysql,密码就是我们初始化时设置的root
mysql -uroot -p
然后开始开启远程访问权限
use mysql;
select host,user from user;
查看host不是%,需要先更新成%(如果是%跳过,直接进行下面的授权):update user set host = '%' where user = 'root';
然后开始授权
// 此句会开启root的远程访问权限,实际根据场景应该开一个权限小的账号
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
// 刷新权限
flush privileges;
上面对mysql本身开启了远程访问权限,下面需要配置防火墙,阿里云还需要在控制台配置安全组开放3306端口。
# 如果firewalld 没有开启,先开启下
service firewalld start
#开放3306端口
firewall-cmd --permanent --add-port=3306/tcp;
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
最后配置mysql自启:
docker update --restart=always mysql
此时使用navicat 可以访问MySQL了
安装redis
首先创建redis数据存放目录和配置文件
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
// 编辑配置文件,开启持久化
vi /mydata/redis/conf/redis.conf
// 配置文件中加入下面的命令
appendonly yes
安装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 --requirepass "123456" 简单讲解一下,
-p 6379:6379:将容器的6379端口映射到主机的6379端口
-v /mydata/redis/data:/data,将主机的/mydata/redis/data挂载到redis容器的/data目录
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf,将主机的redis.conf文件替换容器的redis.conf文件,这样我们可以在主机上对redis进行配置
redis-server /etc/redis/redis.conf,通过redis.conf运行redis
--requirepass "123456",设置密码为123456
添加防火墙规则开启redis远程访问(阿里云还需要配置安全组开放6379端口):
#开放6379端口
firewall-cmd --permanent --add-port=6379/tcp;
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
配置redis自启:
docker update --restart=always redis
最新文章
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 忘记密码功能改进、手机短信、电子邮件
- C++学习笔记32:泛型编程拓展1
- Python执行命令行
- VPN有什么用?(转载)
- 选择年份 php的写法要比js简洁一些
- windows防火墙添加规则
- .Xresources 配置文件
- Cadence画封装的步骤
- 【python自动化第四篇:python入门进阶】
- [Javascript] delete keyword
- honeywell D6110开发的一个工厂仓库追溯识别
- MindManager 安装注册
- LoonAndroid自动检测输入框 --- Author: rose &;&; lvyerose@163.com
- Python 基础 一
- HTML5之2D物理引擎 Box2D for javascript Games 系列 第三部分之创建图腾破坏者的关卡
- [NOIp 2014]飞扬的小鸟
- 2018-2019-3 20165314《网络对抗技术》Exp2 后门原理与实践
- 读取控制器PHP代码文件,并分析数据存到数据库,再重新读出生成PHP文件
- 爬坑系列----Redis查询key报空指针异常,而redis中确实存在该key
- Kotlin系列之序列(Sequences)源码完全解析
热门文章
- [Luogu P2387] [NOI2014]魔法森林 (LCT维护边权)
- CF1324B
- 再探快速傅里叶变换(FFT)学习笔记(其三)(循环卷积的Bluestein算法+分治FFT+FFT的优化+任意模数NTT)
- 震惊!很多人都不知道 CSS Grid 框架早就有了!
- 17、ContentType组件
- SWT JFace 小制作 文本阅读器
- Python 3.9就要来了......,令人兴奋的时刻
- 写博客真的很枯燥,更麻烦的是我还不会MD,排版太不友好了啊。
- Unix/Linux常用文件操作
- 了解TypeScript