docker映射mysql文件_mysql redis在docker中映射宿主机文件启动

这么久了我还是没有记住这个长长的命令,所以今晚就记录一下,以后就可以直接复制运行了

docker 中 MySQL运行

1、直接开启使用命令 systemctl start docker 先运行 docker 容器,然后在直接如下命令运行 MySQL 镜像:

docker run -p 3306:3306 --name mysql_name \

-v /mydata/mysql/log:/var/log/mysql \

-v /mydata/mysql/data:/var/lib/mysql \

-v /mydata/mysql/conf:/etc/mysql \

-e MYSQL_ROOT_PASSWORD=123456 \

-d mysql:tag(image_ID)

你要是要对命令进行修改就不可以直接复制,因为直接粘贴是不可以对上一行进行修改的,命令参数解释:

-p :端口映射(宿主机:镜像)

-v :表示docker 容器中的相关镜像的文件映射到宿主机(实际的物理机主机)外部文件。这样相关镜像的配置文件、日志文件、数据文件都不用在MySQL镜像里操作了,只需要操作在 docker 容器之外的宿主机上映射镜像文件。操作宿主机上的文件即可影响到 docker 容器里相关的镜像。

-e : MySQL镜像的密码(必须写的参数);=:后面是当前mysql 的密码

-d :表示在后台运行

–name :对当前运行的镜像起一个别名,非必写,不写系统会自动产生一个名字

\ :换行

上面命令执行完成之后,就会在 Linux 根目录下创建相应的目录。

585f3f682ce4c1bef66dc3a91aa3f0f5.png

2、进入 mydata 文件下的conf 文件创建 mysql 的配置文件并添加相应的文件内容,下次启动就可以以这个配置文件作为启动文件了。

51a76dead08daa96f7923a5391f68bc2.png

直接复制以下文件内容,粘贴到 my.conf 文件中。

[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

a6f7f53164e3870bb272b21e98fbb0bd.png

3、重启刚刚运行那个MySQL镜像。

docker restart mysql_name(运行时mysql的ID)

8cbf6fe2364485ee54c7d501565ce4ea.png

以上就是 MySQL 镜像的运行。关闭删除镜像,详细见这篇文章。

docker 中 redis 运行

1、由于系统识别问题会和我们指定的不一致,所以我们在第一次运行 redis 时要注意是得先手动创建 redis 的 conf 文件,命令:

82f8560cc1b12bb460ddc4adbc6a8356.png

2、为了防止数据丢失,我们先开启redis 的 RDB 持久化机制。

appendonly yes

0b64f3e9d94891b35af6b2bbd077589b.png

3、直接运行以下命令,运行 redis

docker run -p 6379:6379 --name redis_name \

-v /mydata/redis/data:/data \

-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \

-d redis redis-server /etc/redis/redis.conf

bfba6ef2b57c1655dd835e854cfa4c2f.png

8df6d56b2a7687033fb64c1a12d9fd91.png

有用点个关注,手留余香!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值