35.Docker安装Mysql挂载Host Volume
两个文件系统有块区域Area,我们要做的是把两个Area做文件映射

jesse腾讯云上有个linux的环境,版本比较老了

简书的地址:
https://www.jianshu.com/p/b3bf647a726e
先把旧版的移除掉

yum -y remove docker docker-common container-selinux
设置新版本的docker的地址
yum-config-manager \
--add-repo \
https://docs.docker.com/v1.13/engine/installation/linux/repo_files/centos/docker.repo



安装完成后启动docker

启动后再看下docker的版本

石墨文档的地址
课程中使用的 docker 命令文档:
https://shimo.im/docs/anrlYMFEYloN52c8/
mount是用于集群的

这里先来实验Volume这种方式
这里的--volume可以缩写成-v


在腾讯云上新建dokcer/mysql/config的文件夹

然后在mysqk下面再去新建db文件夹。
config用来防止mysql的配置文件的

在config下新建my.cnf文件


开始调用

进入etc/docker文件夹

编辑daemon.json这个文件
vim daemon.json:编辑这个文件。但是没有这个文件。
我们用vi 新建daemon.json这个文件

把阿里云上的镜像拷贝过去


打开这个文件看一下
cate daemon.json

systemctl restart docker:重启docker

然后再来执行这个语句,他会去mysql的官方去下载mysql的镜像

这里报错了

删除这个mysql01

这里是有config和data这两个文件夹。
需要在mysql的目录下有个data文件夹

再次执行还是报错了

问题是my.cnf居然是一个文件夹

移除掉这个文件夹

在config下创建my.cnf这个文件
vi my.cng


再次查看一下,确实是一个文件了


再次执行。先把之前的删掉,再去执行

docker logs mysql01:查看执行的日志

cokder ps查看到mysql01已经启动了

docker logs mysql01:找到root的默认密码

docker exec -it mysql01 bash:exec执行base 进入到mysql01

使用root登陆,然后输入密码

使用这个命令设置mysql的密码


看到root还是只能在localhost上登陆

再来看下字符集的问题,依然没有utf-8

退出这个容器:exit

进入docker下的mysql文件夹 下面已经有很多mysql的文件在这里了

进入config文件夹下,这里有我们的my.cnf这个文件

vim my.cnf这个文件

加入字符集的配置

docker restart mysql01这个容器

再次进去这个mysql容器然后root登陆,

再次查看我们的字符集。已经生效了

exit:先退出这个容器
dcoker stop mysql01:然后停止这个容器

docker rm mysql01:删除这个mysql01的容器

docker ps -a没有任何容器是在运行的

我们还可以使用这个命令,把原来的配置文件和数据都加载过来

执行上面那段命令后,再用docker ps 查看容器

还在启动,启动我们看下字符集是否还是原来我们设置的那样

进入mysql01这个容器

root登陆进去。面是password123
看到字符集还是之前我们设置的

35.Docker安装Mysql挂载Host Volume的更多相关文章
- docker安装mysql挂载外部配置和数据目录
从docker hub上可以找到mysql外挂配置和数据目录的一些文档说明 https://hub.docker.com/_/mysql 从该文档中可以了解到,mysql的默认配置为/etc/mysq ...
- docker安装mysql挂载宿主本地目录资源后无法启动的问题
可能是权限问题,添加--privileged=true参数: docker run -p : --name zsmysql -v $PWD/data:/var/lib/mysql -v $PWD/lo ...
- Docker学习实践 - Docker安装MySql数据库
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
- docker 安装mysql mongo
Docker安装Mysql 1.拉取镜像 docker pull mysql/mysql-server 2.运行mysql docker run -d -p : --name [Name] [Imag ...
- docker初识-docker安装、基于docker安装mysql及tomcat、基本命令
一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...
- 使用docker安装mysql和redis
本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...
- 安装docker并使用docker安装mysql
安装Docker 1. Docker 教程地址:https://www.runoob.com/docker/centos-docker.install.html 2.安装docker 命令:yum i ...
- docker安装mysql主从
docker安装mysql主从 启动主库: 1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5 ...
- Docker安装MySql完整教程、实操
docker:官网 docker:镜像官网: 镜像官网可以所有应用,选择安装环境:会给出安装命令,例如:docker pull redis 默认拉取最新的版本(指定版本:docker p ...
随机推荐
- ADAS
1 什么是ADAS advanced driver assistance system,即高级驾驶员辅助系统.是基于车上各种传感器的应用,如摄像头.雷达.激光器等. 2 ADAS的构成部分 2.1 a ...
- php计算数组的维数
function array_dim($arr){ if(!is_array($arr)) return 0; else{ $max1 = 0; foreach($arr as $item1){ $t ...
- 谷歌postman插件的安装与使用
下载地址:http://pan.baidu.com/s/1kTh1g4B 安装方法: 1.下载并解压 2.解压后.打开谷歌浏览器.选择很多其它工具→扩展程序,如图 3.勾选开发人员模式 4.选择载入正 ...
- SNMP服务安装 Centos6.8环境网络安装
概念: snmp是英文“Simple Network Management Protocol”的缩写,意为:简单网络管理协议. snmp是目前最常用的环境管理协议. snmp被设计成与协议无关的. s ...
- Windows编程MessageBox函数
API: int MessageBox(HWND hWnd, LPCTSTRlpText, LPCTSTRlpCaption, UINTuType); MSDN描述: This function cr ...
- 20145239 《Java程序设计》第6周学习总结
20145239 <Java程序设计>第6周学习总结 教材学习内容总结 10.1.1串流设计 Java将输入/输出抽象化为串流,数据有来源及目的地,衔接两者的是串流对象. 输入串流代表对象 ...
- 在WAMPSERVER下增加多版本的PHP(PHP5.3,PHP5.4,PHP5.5 ,PHP5.6)支持。
本人预装了一个wamp的集成环境(Apache 2.4.9 + PHP 5.5.12 + mysql 5.6.17),今天在wamp环境下 添加PHP多版本 (PHP 5.5.30).中间两个过程,1 ...
- win 10 安装.msi 程序出现the error code is 2503
解决方法: C:\Windows\temp文件夹的权限不够,需要给其更高权限 右键temp文件夹 点击属性进入属性对话框 组或用户名的里面的All APPLICATION PACKAGES和所有受限制 ...
- android使用mina需要注意的问题
1.第三方jar包的使用 如果在Java Build Path中使用Add External JARs这种方式,运行时会有找不到类的错误(我的上面有,如果你没出现,恭喜你),上网查了几种方 ...
- MyBatis映射文件中用#和$传递参数的特点
在MyBatis映射文件中用#和$传递参数的特点, #是以占位符的形式来传递对应变量的参数值的,框架会对传入的参数做预编译的动作, 用$时会将传入的变量的参数值原样的传递过去,并且用$传递传递参数的时 ...