docker (六)-进阶篇-数据持久化最佳实践MySQL部署

容器的数据挂载通常指的是将宿主机(虚拟机或物理机)上的目录或文件挂载到容器内部

MySQL单节点安装

详情参考docker官网文档

1 创建对应的数据目录、日志目录、配置文件目录(参考二进制安装,需自己建立数据存储目录)

mkdir -p /data/mysql/{data,log,conf}

2 编写配置文件 

[root@docker-131 mysql]# cat /data/mysql/conf/my.cnf
[mysqld]
character_set_server=utf8
collation-server=utf8_general_ci
log-bin=binlog
server-id=1

3 启动容器 

查询官网,MySQL必须要设置超级用户密码的环境变量

docker run --name mysql \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -v /data/mysql/data:/var/lib/mysql \
    -v /data/mysql/log:/var/log/mysql \
    -v /data/mysql/conf:/etc/mysql/conf.d \
    -p 3308:3306 \
    --restart=always \
    -d mysql:$VERSION

说明:上面的-v用于将项目数据目录、日志目录、配置文件目录映射到宿主机,--restart=always表示重启 docker 引擎后,自动启动该容器 

可以通过docker inspect查看容器挂载信息

  1. HostConfig 是一个包含有关容器主机配置的部分。Binds 是其中的一个键,它提供了有关容器挂载点的信息。具体来说,Binds 键下的值是一个数组,其中包含了容器与主机之间的挂载关系
  2. Mounts 键,该键下包含了有关容器中的挂载点的信息
  3. Volumes 会列出容器内部的卷,并显示每个卷的路径。这些路径通常会以容器内部的路径为准,而不是主机路径。

4 查看状态

5  连接数据库

查看mysql容器的ip

[root@docker-131 mysql]# docker inspect -f "{{ .NetworkSettings.IPAddress}}" mysql
10.233.0.2
[root@docker-131 mysql]# docker run -it --rm mysql mysql -h10.233.0.2 -P3306 -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.44-log MySQL Community Server (GPL)

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

MySQL一主一从部署 

----

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值