docker 安装 mysql

一、下载安装MySQL镜像

sudo docker pull mysql:5.7

 【注】docker pull mysql 如果不指定版本,默认安装最新版本。

docker 安装 mysql_第1张图片

 sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。不想用sudo,使用命令su root,切换到root账户即可。

为了演示,下面后直接切换到root账户去操作。

 二、创建实例并启动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 端口
-e MYSQL_ROOT_PASSWORD=root:初始化root
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机

挂载到主机,通俗点理解就是,跟平时我们创建文件夹的快捷方式到桌面那种意思

命令docker ps,可以查看到实例已经启动 

docker 安装 mysql_第2张图片

 最后用可视化工具测试一下实例是否正常启动即可。

docker 安装 mysql_第3张图片

 三、补充

1、MySQL的配置

创建一个配置文件,命令如下

vi /mydata/mysql/conf/my.cnf

 i是进入编辑模式,:wq是保存并退出

[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

 上面主要是

(1)设置编码为utf8,编码设置特别重要。特别是跨系统间的文件传输和文件解析,约定好编码是非常重要的。

(2)skip-name-resolve:跳过域名解析。在学习阶段,跳过域名解析,会使连接MySQL更快速。

2、通过容器的 mysql 命令行工具连接

docker exec -it mysql mysql -uroot -proot

这个命令可以直接进入MySQL的命令界面。

docker 安装 mysql_第4张图片

3、进入容器文件系统

docker exec -it mysql /bin/bash

4、创建实例时报错的解决

(1)如果创建实例时报错

docker: Error response from daemon: Conflict. The container name "/mysql" is already in use by container "6dbffc5dc492eb576928a49cc4cf15f0c34c7f3d767e48ac4c213d9054562d69". You have to remove (or rename) that container to be able to reuse that name.

(2)移除原来的container ID,再重新创建实例即可

docker rm + container ID 

docker: Error response from daemon: Conflict. The container name “/mysql“ is already in use 解决

5、其他镜像在docker的安装(以Redis为例)

其他镜像在docker的安装,也是如此,下载安装+创建实例启动。

不熟悉的情况下,先去官网查看一下要下载的镜像(以Redis为例)

https://hub.docker.com

docker 安装 mysql_第5张图片

 

(1)下载安装Redis镜像
docker pull redis

主要su root 切换到root账户,不指定版本即默认安装最新版

docker 安装 mysql_第6张图片

 (2)Redis创建实例并启动

在创建实例启动前,需要先创建配置目录

mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

docker 安装 mysql_第7张图片

 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

 (3)使用 redis 镜像执行 redis-cli 命令连接

docker exec -it redis redis-cli

docker 安装 mysql_第8张图片

 (4)Redis的持久化配置

进入配置文件,增加配置

vi redis.conf

appendonly yes

 

你可能感兴趣的:(┉┇项目管理,docker,mysql)