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

尚硅谷 2020 谷粒商城项目 笔记(一) Centos 7 安装 Docker MySQL Redis_第1张图片

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

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、使用阿里云的镜像加速器(阿里云->控制台->容器镜像服务->镜像加速器)

尚硅谷 2020 谷粒商城项目 笔记(一) Centos 7 安装 Docker MySQL Redis_第2张图片

 

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 镜像尚硅谷 2020 谷粒商城项目 笔记(一) Centos 7 安装 Docker MySQL Redis_第3张图片

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

尚硅谷 2020 谷粒商城项目 笔记(一) Centos 7 安装 Docker MySQL Redis_第4张图片

3.4、进入 redis (optional)

docker exec -it redis redis-cli

3.5、redis随 docker 自启动

docker update redis --restart=always

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

 

 

 

 

你可能感兴趣的:(java,实战,docker,java,spring,mysql)