网站首页 > 基础教程 正文
Docker 安装mysql 要比 安装tomcat 稍微复杂些,要配置一些参数,例如mysql密码,配置文件编写等。
1、docker hub上面查找mysql镜像
地址:Docker Hub
可以拉取最新的,也可以按照tag搜索自己想要的版本,拉取
2、从docker hub上拉取mysql5.7镜像到本地
命令:docker pull mysql:5.7
3、使用mysql5.7镜像创建并运行容器
命令:docker run -d -p 3306:3306 --privileged=true -v
/usr/local/tool/volumn/mysql/log:/var/log/mysql -v
/usr/local/tool/volumn/mysql/data:/var/lib/mysql -v
/usr/local/tool/volumn/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7
选项解释:
- -d 后台运行
- -p 3306:3306 暴露3306 端口
- --privileged=true 配置容器卷 必须加这个 否则有可能出现权限异常
- -v /usr/local/tool/volumn/mysql/log:/var/log/mysql 日志文件存储在宿主机上
- -v /usr/local/tool/volumn/mysql/data:/var/lib/mysql 数据文件存储在宿主机上
- -v /usr/local/tool/volumn/mysql/conf:/etc/mysql/conf.d 配置文件存储在宿主上
- -e MYSQL_ROOT_PASSWORD=123456 配置mysql root 密码
- --name mysql 配置容器名称
日志、数据、配置文件一定要存储在宿主机上,防止容器被删除,数据丢失
在宿主机上配置my.cnf 路径:
/usr/local/tool/volumn/mysql/conf 增加自己的配置 我这里更改了编码格式
[client]
default_character_set=utf8
[mysqld]
collation_server=utf8_general_ci
character_set_server=utf8
实例:
查看数据编码格式命令: show variables like 'character_set_database'; ;
4、建库建表插入数据
sql:
create database test_db;
use test_db;
CREATE TABLE `sys_user` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT ,
`username` varchar(50) NOT NULL COMMENT '用户名',
`password` varchar(50) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1;
insert sys_user (username,password) values ('zhangsan','123');
select * from sys_user;
然后看下mysql 日志、数据是否同步只宿主机上了
5、删除容器,在安装3、4步骤操作校验数据是否被删除
至此docker安装mysql完成,是不是比在虚拟机中安装简单多了
猜你喜欢
- 2025-03-14 从0到1体验Jenkins+Docker+Git+Registry实现CI自动化发布
- 2025-03-14 教你测试开发丨测试小白也能听懂的Docker讲解和应用
- 2025-03-14 Docker安装及mysql、redis实战(docker安装mysql5.7)
- 2025-03-14 Docker技术:大神整理——Harbor私服搭建和使用
- 2025-03-14 Springboot项目使用docker部署(springboot docker部署)
- 2025-03-14 Linux环境通过Dockerfile创建Tomcat镜像
- 2025-03-14 终于有人把Docker讲清楚了,Docker入门教程,原来这么简单...
- 2025-03-14 linux下面安装docker(linux安装docker报错)
- 2025-03-14 DeepSeek:一分钟教会你部署Tomcat
- 最近发表
-
- 掌握SpringBoot-2.3的容器探针:实战篇
- kubernetes基础知识之驱逐节点(k8s驱逐节点后恢复)
- Linux环境中制作网络哨兵Sentinel Docker镜像
- k8s之配置CNI网络(k8s 网络配置)
- docker实战之:镜像更新(docker 镜像升级替换)
- 离线在docker镜像方式部署ragflow0.17.2
- Linux日常小技巧Docker打包(docker打包lnmp)
- 使用dockerfile构建docker镜像(docker通过dockerfile构建镜像命令)
- 「云原生」Containerd ctr,crictl 和 nerdctl 命令介绍与实战操作
- Kylin安装Dify(kylin安装部署)
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- pythonif (68)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)