当前位置:网站首页>Docker配置mysql以及宿主机容器目录挂载
Docker配置mysql以及宿主机容器目录挂载
2022-07-16 14:57:00 【兰舟千帆】
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,就到这里。
边栏推荐
- impala高级设置之BROADCAST_BYTES_LIMIT
- 图扑软件构建源网荷储用体系 打造循环经济2.0版本
- 02-回顾多线程
- 电流镜自动布局 布局对称性: 量化和应用以消除非线性过程梯度
- 【C语言刷LeetCode】676. 实现一个魔法字典(M)
- TCP拥塞控制详解 | 6. 主动队列管理
- Custom type - structure
- 离线安装:如何搭建安全的企业级Harbor服务?内容太过详细。
- Preparing transaction:done Verifying transaction:failed RemoveError:‘requests‘ is a dependency of **
- 【Ucos-III源码分析】——系统初始化
猜你喜欢
随机推荐
【BCG控件】CBCGPGridItem响应结束编辑事件错误,无法响应问题
【C语言刷LeetCode】676. 实现一个魔法字典(M)
LeetCode高频题:图像交并比IoU计算方法和手撕代码
2022/7/14 每日一题(简单路径与树结合--->深搜)
scrapy-redis分布式爬虫部署
CAN光端机解决泰和安TX3016C消防主机长距离联网问题
Tupu software builds a source network load storage system to build a circular economy version 2.0
文件的使用详解
Typora更换MarkText,Mark Text下载,MarkText调出工具栏和大纲栏、设置文本编辑区宽度、编辑快捷键。
Sweep redis distributed crawler deployment
服装ERP怎么选?选型时一定要问这些问题
【Ucos-III源码分析】——事件标志组
Your first orthodontic condition (continuously updating)
对象序列化流与反序列化流
mysql ibd文件反删除恢复之后异常处理----惜分飞
【luogu P6891】ビルの飾り付け 4(DP)(结论)
软件测试面试题:软件质量保证体系是什么 国家标准中与质量保证管理相关的几个标准是什么?他们的编号和全称是什么?
Decoding of relative motion of two moving points
Learning path PHP -- post can't get the requested data
ssd训练自己的数据集









