(四)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
相关推荐
Macle_Chen18 分钟前
Mac服务器上创建Docker并安装宝塔环境
服务器·macos·docker
ChinaRainbowSea21 分钟前
Linux: Centos7 Cannot find a valid baseurl for repo: base/7/x86_64 解决方案
java·linux·运维·服务器·docker·架构
Hellc0071 小时前
Docker 部署 MongoDB 并持久化数据
mongodb·docker·容器
云上艺旅3 小时前
K8S学习之基础十五:k8s中Deployment扩容缩容
学习·docker·云原生·kubernetes·k8s
颜淡慕潇5 小时前
【K8S系列】Kubernetes中查看日志常见问题&解决方案
后端·云原生·容器·kubernetes
三天不学习6 小时前
Windows 系统 Docker Desktop 入门教程:从零开始掌握容器化技术
运维·docker·容器
mumu-hn6 小时前
Docker基础篇——Ubuntu下Docker安装
运维·docker·容器
自律的蜗牛8 小时前
在 Docker 中安装并配置 MySQL
mysql·docker·容器
xy123068 小时前
Kubernetes (K8s) 集群部署指南:从环境准备到应用部署(脚本部署)
docker·kubernetes
蜜獾云8 小时前
redisinsight 默认端口改成5540了
linux·docker·容器·redisinsight