尚硅谷 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 是容器的名字,不是鏡像的名字。

 

 

 

 

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