目录
一、安装Docker阅读
此案例安装常用的mysql5.7版本
二、Docker安装容器常规7步走
搜(dockerhub搜索镜像版本)
拉(拉取镜像)
查(查看本地镜像)
启(启动容器)
停(停止容器)
删(删除容器实例和镜像)
三、安装mysql
1、dockerhub上搜索镜像版本命令
dockerhub网址:Dockerhttps://hub-stage.docker.com/
2、默认拉取最新的,如果指定版本需要带上TAG号
docker pull mysql:5.7
3、查看本地镜像
4、启动容器实例,并且挂载容器数据卷
docker run -d -p 3306:3306 --privileged=true \
-v /ywjuser/mysql/log:/var/log/mysql \
-v /ywjuser/mysql/data:/var/lib/mysql \
-v /ywjuser/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
--name mysql \
mysql:5.7
#参数
-v挂载目录
log下是日志,data下是数据,conf下是配置
-e环境,设置root密码
挂载容器数据卷的目的是万一删了容器实例,但是数据在宿主机上有备份,所以重新启动一个容器实例,并且挂载在相同的路径下即可实现数据恢复。
docker启动以后查看启动状态
查看运行的容器实例
docker ps
如果docker ps查不到运行的容器实例,可以执行docker ps -a查看所有的容器实例,查看容器ID
然后根据docker logs 容器ID查看启动日志,查看报错原因
docker容器上安装mysql需要注意字符集编码,中文会报乱码;
修改配置
cd /ywjuser/mysql/conf/
vim my.cnf
添加以下内容,(my.cnf文件名是固定的)
[client]
default_character_set=utf8
[mysqld]
collation_server = utf8_general_ci
character_set_server = utf8
查看修改配置之后的字符集,如果启动了mysql容器,修改配置之后需要重启一下。
进入容器
docker restart mysql
docker ps
docker exec -it 6d46a7412b53 /bin/bash
mysql -uroot -p
SHOW VARIABLES LIKE 'character%';
修改配置之前的字符集:
修改配置之后的字符集:
重新建表添加数据,尝试中文会不会报乱码;
create database db01;
use db01;
create table t1(id int,name varchar(20));
insert into t1 values(1,"zhangsan");
select * from t1;
5、停止并删除
停止容器实例
docker stop 容器ID
删除容器
docker rm -f 容器ID
删除镜像
docker rmi -f 镜像ID