(四)Doceke安装MySQL镜像+Docker启动MySQL容器

Doceke安装MySQL镜像/Docker启动MySQL容器

一、doceke安装MySQL镜像

切换到root用户,su root 。

1、启动Docker

启动:sudo systemctl start docker
停止:systemctl stop docker
重启:systemctl restart docker
查看docker运行状态(显示绿色代表正常启动):systemctl status docker 
//删除docker上的镜像(如MySQL镜像)(出现问题可以移除镜像,重新安装)(先docker images查看镜像获取到IMAGE ID)
docker rmi 92034fe9a41f(IMAGE ID)

2、查询mysql

powershell 复制代码
docker search mysql

3、安装mysql

拉取镜像 不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

1.默认拉取最新版本mysql

powershell 复制代码
docker pull mysql

2.拉取指定版本mysql_5.7

powershell 复制代码
sudo docker pull mysql:5.7

4、查看镜像

使用以下命令来查看是否已安装了 mysql镜像

powershell 复制代码
docker images

二、Docker启动MySQL容器

开启自启:docker update mysql --restart=alawys
停止mysql容器:docker stop mysql
重启mysql容器:docker restart mysql
//移除一个镜像(出现问题可以移除重新启动)(先docker ps查看正在运行的容器获取到CONTAINER ID)
docker rm ba51fc8d04e1(CONTAINER ID)

1、启动mysql容器(创建镜像实例)

1.指定版本

powershell 复制代码
sudo 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

2.最新版本

powershell 复制代码
docker run -p 3306:3306 --name mysql  \
-v /usr/local/mysql/log:/var/log/mysql \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql \
-v /etc/localtime:/etc/localtime:ro \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest

2、命令参数含义:容器=完整Linux

docker run:在docker中启动一个容器实例
-p 3306:3306:指定宿主机端口与容器端口映射关系,容器与主机映射端口为,主机3306,容器3306,访问Linux端口就能访问到MySQL容器
--name mysql:容器运行后的名称,创建的容器名称
-v /mysqldata/mysql/log:/var/log/mysql:映射日志目录,将容器/var/log/mysql目录下的数据,备份到主机(虚拟机)的 /mysqldata/mysql/log目录下,有映射关系,其中一方修改另外一方也跟着修改
-v /mysqldata/mysql/data:/var/lib/mysql:映射数据目录,将容器/var/lib/mysql目录下的数据,备份到主机(虚拟机)的 /mysqldata/mysql/data目录下,有映射关系,其中一方修改另外一方也跟着修改
-v /mysqldata/mysql/conf:/etc/mysql:映射配置目录,将容器/etc/mysql目录下的数据,备份到主机(虚拟机)的 mysqldata/mysql/conf目录下,有映射关系,其中一方修改另外一方也跟着修改
-v /etc/localtime:/etc/localtime:ro:让容器的时钟与宿主机时钟同步,避免时区的问题,ro是read only的意思,就是只读。
-e MYSQL_ROOT_PASSWORD=123456:指定mysql环境变量,root用户的密码为123456
-d mysql:latest:后台运行mysql容器,版本是latest(最新版)。

3、查看正在运行的容器

bash 复制代码
# 查看正在运行的容器
docker ps
# 查看所有的docker容器
docker ps -a

这个时候如果显示的是up状态,那就是启动成功了。

如果不是up,可以看我这篇文档解决问题:https://blog.csdn.net/m0_65992672/article/details/132405522

4、测试连接

连接虚拟机地址,密码是启动MySQL时设置的密码

连接成功,说明MySQL已经安装好了。

5、MySQL 配置,修改字符编码格式

虚拟机/mydata/mysql/conf/my.cnf文件修改了,对应的映射关系的MySQL容器/etc/mysql/my.cnf也进行了修改

ruby 复制代码
vi /mydata/mysql/conf/my.cnf

插入以下配置

vi命令:
i:插入
Esc 退出编辑模式
: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

注意:
配置文件中的格式一定要正确,粘贴进来时,会自己变换格式,记得自己进行换行哦。
注意:解决 MySQL 连接慢的问题
在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释: skip-name-resolve:跳过域名解析

6、重启mysql,应用到配置

sql 复制代码
docker restart mysql

7、进入容器内部

bash 复制代码
docker exec -it mysql /bin/bash
查看目录结构:
ls
查看mysql装在哪里:
whereis mysql
退出容器:
exit;

虚拟机/mydata/mysql/conf/my.cnf文件修改了,对应的映射关系的MySQL容器/etc/mysql/my.cnf也进行了修改

可以根据下面截图中的命令去运行看看:

8、登录MySQL

先进入容器内部
docker exec -it mysql /bin/bash
在登录MySQL
mysql -u root -p
退出容器:
exit;

9、设置开启自启

开启虚拟机自动开启MySQL容器

r 复制代码
docker update mysql --restart=alawys
相关推荐
莫得等待1 小时前
kubernetes架构
容器·架构·kubernetes
铁板鱿鱼1402 小时前
docker基本(仅供自己参考)
运维·docker·容器
江池俊3 小时前
本地快速部署一个简洁美观的个人Halo博客网站并发布公网远程访问
docker·个人博客
admin_2334 小时前
docker入门总结(附错误处理,持续更新)
运维·docker·容器
linux修理工4 小时前
docker desktop windows stop
docker
小魏冬琅4 小时前
Docker 进入容器并运行命令的方法
运维·容器
Ceder1c4 小时前
【已解决】Linux ubuntu 20.04 docker 不需要sudo权限
linux·ubuntu·docker
hybaym4 小时前
Docker修改默认的存储路径
docker
EricWang13587 小时前
【无标题】
docker
是小赵鸭.7 小时前
云计算实训50——Kubernetes基础命令、常用指令
linux·深度学习·容器·kubernetes·云计算·学习方法