尚硅谷 2020 谷粒商城项目 笔记(一) Centos 7 安装 Docker MySQL Redis

当前 linux 版本: centos 7.7

目录

1、安装 Docker

1.1、检查内核版本,必须是3.10及以上

1.2、卸载历史

1.3、安装相关依赖

1.4、指定docker安装信息源

1.5、安装docker

1.6、启动docker

1.7、检查docker安装情况

1.8、开机启动docker

2、安装 MySQL

2.1、拉取mysql

2.2、启动mysql

2.3、mysql 配置

2.4、进入 mysql (optional)

2.5、登录 mysql (optional)

2.6、mysql 随 docker 自启动

3、安装 Redis

3.1、拉取最新的redis

3.2、启动 redis

3.2.1、创建主机目录

3.2.2、创建空白配置文件

3.3、启动redis

3.4、进入 redis (optional)

3.5、redis随 docker 自启动


1、安装 Docker

官方安装教程:https://docs.docker.com/engine/install/centos/

1.1、检查内核版本,必须是3.10及以上

uname ‐r
 

1.2、卸载历史

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

因为没安装过,所以没有需要卸载的。
 

1.3、安装相关依赖

yum install -y yum-utils

备注: yum-utils  已经包含  yum-config-manager

 
 

1.4、指定docker安装信息源

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

1.5、安装docker

docker-ce
docker-ce-cli 客户端
containerd.io 容器
yum install docker-ce docker-ce-cli containerd.io

1.6、启动docker

systemctl start docker

1.7、检查docker安装情况

docker -v
 

1.8、开机启动docker

systemctl enable docker

1.9、使用阿里云的镜像加速器(阿里云->控制台->容器镜像服务->镜像加速器)

 

2、安装 MySQL

2.1、拉取mysql

docker pull mysql:5.7

2.2、启动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 端口

--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 初始化 root 用户的密码

-d mysql:5.7 以守护进程方式启动 mysql:5.7 镜像

2.3、mysql 配置

vim /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

============== 2020/05/20 添加 ==============

bug:

导入 SQL 的时候出现 Error #1055

reason: 

在MySQL5.7之后,sql_mode中默认存在ONLY_FULL_GROUP_BY,SQL语句未通过ONLY_FULL_GROUP_BY语义检查所以报错。

ONLY_FULL_GROUP_BY:ONLY_FULL_GROUP_BY要求select语句中查询出来的列必须是明确的(其他语句也是一样)。

fix:

1. 在配置文件 [mysqld] 下添加

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

2. 重启 mysql 容器。

注意: mysql为容器的名字,不同的请更换。或使用容器ID即可。 

docker restart mysql

=======================================

  • 2.4、进入 mysql (optional)

dokcer exec -it mysql /bin/bash
  • 2.5、登录 mysql (optional)

mysql -u root -p
  • 2.6、mysql 随 docker 自启动

docker update mysql --restart=always

注意:这里的 mysql 是容器的名字,不是镜像的名字。

 

 

 

3、安装 Redis

3.1、拉取最新的redis

docker pull redis

3.2、启动 redis

因为容器内只有 /etc/redis/ 没有 redis.conf 文件。系统会将主机的 /mydata/redis/conf/redis.conf 识别成目录。使用要先在主机中创建 redis.conf 文件,再挂载到容器内。

3.2.1、创建主机目录

mkdir -p /mydata/redis/conf

3.2.2、创建空白配置文件

touch /mydata/redis/conf/redis.conf

redis.conf (optional)

# 登录密码
# requirepass foobared

# aof模式
appendonly yes

3.3、启动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 

--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 制定配置文件启动镜像

3.4、进入 redis (optional)

docker exec -it redis redis-cli

3.5、redis随 docker 自启动

docker update redis --restart=always

注意:这里的 redis 是容器的名字,不是镜像的名字。

 

 

 

 

### 在 CentOS 7 上使用 Docker 安装 Redis #### 准备工作 确保已经安装并配置好 Docker 环境。如果未完成此操作,则需先按照官方文档或其他可靠资源指导来安装 Docker。 #### 获取 Redis 镜像 访问 Docker Hub 并查找最新的 Redis 版本,可以前往[Docker Hub](https://hub.docker.com/search)进行搜索。对于获取最新版本Redis 镜像,执行如下命令: ```bash docker pull redis ``` 若要拉取特定版本(例如 `6.2.5`),则应运行下面这条指令: ```bash docker pull redis:6.2.5 ``` 确认镜像下载成功后,可以通过以下命令验证是否存在该镜像: ```bash docker images | grep redis ``` #### 创建与启动 Redis 容器 为了提高安全性以及便于管理和维护,在创建容器时建议指定端口映射、名称以及其他必要的参数。这里给出个带有密码保护的例子: ```bash docker run -d --name redis -p 6378:6379 redis:6.2.5 --requirepass 123456 ``` 上述命令会以后台模式启动名为 "redis" 的容器,并将其内部监听的 6379 端口绑定到主机上的 6378 端口;同时设置了连接所需的密码为 "123456"[^2]。 #### 设置数据存储位置 考虑到持久化的需要,通常还会定义外部卷用于保存数据库文件。为此可预先建立相应的本地路径作为挂载点: ```bash mkdir -p /data/home/docker/redis/{conf,data} ``` 这步骤建立了两个子目录分别用来放置配置文件和实际的数据集。 #### 自动加载默认配置模板 接着可以从正在运行中的容器内复制份原始配置副本至之前准备好的 conf 文件夹下: ```bash docker cp $(docker ps -aqf "name=^redis$"):/usr/local/etc/redis/redis.conf ./path/to/conf/ ``` 注意替换掉其中的路径部分以匹配实际情况。 #### 修改配置选项 进入 `/usr/local/redis/conf` 目录编辑 `redis.conf` 文件开启 AOF 持久化功能: ```bash cd /usr/local/redis/conf vi redis.conf # 添加或更改下列行启用AOF持久化方式 appendonly yes ``` 最后记得重启服务使改动生效[^3]。 #### 实现开机自动启动 为了让 Redis 能够随系统同启动,可通过调整容器属性实现这目标: ```bash docker update redis --restart=always ``` 以上就是完整的基于 DockerRedis 安装流程概述[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值