尚硅谷 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

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

 

 

 

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 是容器的名字,不是镜像的名字。

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章