容器的数据挂载通常指的是将宿主机(虚拟机或物理机)上的目录或文件挂载到容器内部
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查看容器挂载信息
HostConfig
是一个包含有关容器主机配置的部分。Binds
是其中的一个键,它提供了有关容器挂载点的信息。具体来说,Binds
键下的值是一个数组,其中包含了容器与主机之间的挂载关系Mounts
键,该键下包含了有关容器中的挂载点的信息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一主一从部署
----