Docker配置mysql以及宿主机容器目录挂载

在之前的docker 挂载中主要说明了创建数据卷并挂载的方式。现在我们做一种创建普通目录并进行挂载的方式。
基于mysql镜像的拉取并进行配置。

首先拉取mysql镜像

docker pull mysql:8.0.29


这样直接拉取完毕后,你再去查看下目前投的镜像

 docker images

你看这个版本的镜像就有了

因为mysql需要相关的配置文件。我们做一个配置文件的挂载其实你可以理解为映射或者引用。

自己创建一个文件夹,然后里面创建用来存放mysql相关配置的分级文件夹。

我这里用到了FinalShell工具,当然你可以命令去创建。一定要安排好你目录的位置。我的在根目录下直接创建了这样的分级文件夹。创建的命令就不说了。

那么我们写一段命令,比较长,但是并不复杂。其实这些文件春

docker run \--name mysql -p 3306:3306 -v /mysql/mysql/data:/var/lib/mysql \
-v /mysql/mysql/config:/etc/mysql/conf.d \-v /mysql/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.29

太长的命令我们需要用 \ 划分开,这样就可以防止系统因为换行而直接执行没有输入完毕的命令。

对参数做一个解释说明
–name : 对运行容器起一个名字,当然你这里不叫mysql 也是可以的,就是一个名字而已
-p 指定端口,注意这里两个端口的指定。一般叫做把宿主机的端口映射到容器。mysql,默认的监听端口是3306,如果你不修改这里默认的话,那么这里的第二个端口一定是3306,如果你这里随便写一个,是无法正确映射到的。前面的端口主要是干什么用的?将来我们在我们主机连接远程服务器,我们的远程服务器的注解地址加上这个端口就是我们这个mysql容器的访问链接。
-v 这里后面我们就是做了一个宿主目录和容器目录的挂载映射。包括了配置,日志记录,数据存储等等。
-e 这里后面首先做了一个mysql密码的设定
-d 后面 代表的是后台运行
后面的mysql:8.0.29就是说明了运行的容器和版本。

已经很尽力说的详细了。

需要注意的是如果你的原来的系统本来就有一个mysql的版本并且占用了你的3306端口,那么我的建议是杀死是比较明智简单的操作。

出现像这样的报错

 Error response from daemon: driver failed programming external connectivity on endpoint mysql (fb957f020c1833f804f2612b60c4ef60162dbbb5c888c29488bd1b02bbaab8f9): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use.

首先找到谁占用了这个3306

 netstat -nap | grep 3306

你这里可以看到它的进程号
2153这个进程号,然后把它杀掉。

kill 2153

然后你去启动就可以了。

阿里云这个服务器啊!你不光需要在系统内部开启防火墙,还需要去面板开启防火墙。

 firewall-cmd --zone=public --add-port=3306/tcp --permanent 


然后加载一下配置

firewall-cmd --reload


可以查看端口是否开放成功

 firewall-cmd --zone=public --list-ports

还需要去面板操作

然后我们去本机的navicat远程连接这个数据库


这样我们就成功连接到远程数据库。


给你一些尝试测试的sql语句

create database jgdabc;
create table if not exists stu2
(sid int(11),name varchar(10),gender varchar(10),brith date);-- alter table stu2 add address varchar(10);
alter table stu2 add (address varchar(10),score int(10));
insert into stu2 values(1,"李自成","男","1000-12-12","北京",44),(2,"华佗","男","1201-12-13","三国",100);
select distinct * from stu2; #无重复记录查找
select * from stu1 as p1; -- as 可以省略
select *from stu2 as p2; -- 起别名
select name , score+10 score  from stu2;
select  distinct * from stu2 where name = "李自成";  -- 条件查询
select * from stu2 where not (name ="李自成");

然后测试后我们去看我们之前挂载的目录文件有没有新的数据出现,你看这里记录了一些非常详细的信息。ok,就到这里。

Docker配置mysql以及宿主机容器目录挂载相关推荐

  1. 在虚拟机docker启动mysql但是宿主机无法访问的问题

    在DockerHub官网查看mysql启动的命令,发现都没有指定端口映射,于是我模仿着执行的命令如下: docker run --name testmysql -e MYSQL_ROOT_PASSWO ...

  2. Docker - 部署 MySQL 5.7 数据库容器

    文章目录 Docker - 部署 MySQL 5.7 数据库容器 环境信息 部署 MySQL 5.7 数据库容器 修改 MySQL 的字符集 参考信息 Docker - 部署 MySQL 5.7 数据 ...

  3. 使用Docker配置MySQL

    ba使用Docker配置MySQL 内容 安装Docker(略过),直接使用服务器或者你虚拟机对应的安装命令进行安装即可,安装之后打开docker服务,centos 7 下使用systemctl st ...

  4. docker下载mysql镜像并启动容器

    docker下载mysql镜像并启动容器 下载mysql镜像 运行一个mysql容器 命令 参数含义 查看当前运行的容器状态 进入容器 使用root登录mysql 重启mysql容器 下载mysql镜 ...

  5. docker部署的mysql调整宿主机映射端口

    1.记录mysql容器id 记录docker中mysql的容器id 记录mysql的容器id docker ps关闭docker服务 systemctl stop docker 2.修改配置文件 进入 ...

  6. win10 mysql 主从复制_win10 使用Docker配置mysql主从复制

    拉取镜像,我这里拉取5.6镜像 docker pull mysql:5.6.43 2.找一个目录编写主从库配置文件,这里我直接在上博客找的: (1)主库master.cnf文件: [mysqld] p ...

  7. docker配置mysql 中间件 ProxySQL

    之前我们配置了mysql 一主二从模式,本文将利用mysql中间件ProxySQL 实现读写分离. 首先下载镜像 docker pull proxysql/proxysql 在home目录下创建pro ...

  8. Docker学习:跨宿主机通信 | overlay和macvlay(理论+实战篇)

    前言 本讲是从Docker系列讲解课程,单独抽离出来的一个小节,带你一起 深入了解在编排工具出现前,跨宿主机通信的两大得力干将overlay.macvlay,这也会后期学好K8s做好基本功铺垫,打下一 ...

  9. Docker配置mysql互为主从

    配置准备 两台机器 两台机器:A(193.168.10.101)  B(193.168.10.102) 做好ssh免密登录 mysql大版本需要一致,小版本可忽略 并且两台机器已经安装好了docker ...

最新文章

  1. LFSR 和 m序列
  2. Linux (x86) Exploit 开发系列教程之十一 Off-By-One 漏洞(基于堆)
  3. linux怎么配置ftp服务,Ubuntu下安装、配置FTP服务
  4. 虚拟服务器(dmz),连接虚拟主机到DMZ网络的最佳方法
  5. python 调用另一个py_跟我自学python 第9章 类(9.4.6 在一个模块中导入另一个模块)...
  6. sql 2005分区表
  7. 大数据学习——akka自定义RPC
  8. 2018蓝桥杯省赛---java---A---1(分数)
  9. 第十一章:可绑定的基础结构(四)
  10. Java中List, Integer[], int[]的相互转换
  11. jquery各类资源整理
  12. 限制firefox上传框宽度
  13. 五八搜索实时索引实现和重构
  14. u-boot之mkconfig分析
  15. 深度学习(十八)基于R-CNN的物体检测-CVPR 2014
  16. 《沉默的大多数》跳出手掌心
  17. cocos2d-x学习笔记(持续更新)
  18. 数据挖掘综合应用:贷款产品预测案例
  19. eureka心跳_8个Eureka优化技巧,让效率提高10倍
  20. 小米2020校招笔试题及答案

热门文章

  1. Java中如何优雅地调用多个方法
  2. 基于PHP+MySQL校园网站的设计与实现
  3. 最美的十大精典英文爱情句子
  4. 【tensorflow】图像加减乘除
  5. 一文读懂SpringCloud与Eureka,Feign,Ribbon,Hystrix,Zuul核心组件间的关系
  6. 七大未定式求极限解法----考研高数
  7. 智能制造数字展厅软硬件
  8. uniapp app端导出excel的探索和实现(二)
  9. A+BProblem
  10. html网页中加五角星,使用css3在网页中实现五角星样式(原理解析)