Docker是一种轻量级、可移植的容器化平台,可以简化应用程序的部署和管理。在本文中,我们将探讨如何使用Docker来搭建和部署MySQL数据库,并将数据和配置文件挂载到外部目录,以实现数据持久化和方便的配置管理。
1: 安装Docker
首先,确保你的系统上已经安装了Docker。你可以根据官方文档安装适用于你系统的Docker版本
2、拉取mysql镜像
docker search mysql 查询镜像 可省略这一步docker pull mysql 拉取镜像,不带版本默认拉取最新版本 指定版本如docker pull ubuntu/mysql
3、创建待挂载文件
4、创建MySQL容器
docker run --restart=always --privileged=true -p 3306:3306 --name mysql -v /usr/mysqldata/log:/var/log/mysql -v /usr/mysqldata/data:/var/lib/mysql -v /usr/mysqldata/conf:/etc/mysql -v /usr/mysqldata/my.cnf:/etc/mysql/my.cnf -e MYSQL_ROOT_PASSWORD=20240110 -d mysql
命令解释
docker run: 运行Docker容器的命令。--restart=always: 指定容器在退出时总是重新启动。这意味着,无论容器是正常退出还是异常退出,Docker将自动重新启动这个容器。--privileged=true: 赋予容器特权,允许它在主机上执行一些敏感操作,这通常是出于一些特殊需求的考虑,但需要注意潜在的安全风险。-p 3306:3306: 将主机的端口3306映射到容器的端口3306,这样外部系统可以通过主机的3306端口访问MySQL服务。--name mysql: 为容器指定一个名称,这里是"mysql"。-v /usr/mysqldata/log:/var/log/mysql: 将主机上的/usr/mysqldata/log目录映射到容器内的/var/log/mysql目录,用于存储MySQL的日志文件。-v /usr/mysqldata/data:/var/lib/mysql: 将主机上的/usr/mysqldata/data目录映射到容器内的/var/lib/mysql目录,用于存储MySQL的数据文件。-v /usr/mysqldata/conf:/etc/mysql: 将主机上的/usr/mysqldata/conf目录映射到容器内的/etc/mysql目录,用于存储MySQL的配置文件。-v /usr/mysqldata/my.cnf:/etc/mysql/my.cnf: 将主机上的/usr/mysqldata/my.cnf文件映射到容器内的/etc/mysql/my.cnf文件,这是MySQL的配置文件。-e MYSQL_ROOT_PASSWORD=20240110: 设置MySQL的root用户密码为"20240110"。-d mysql: 以后台(detached)模式运行MySQL容器。
挂载外部目录的理由:
数据持久性和灵活性。容器中MySQL数据的易备份和恢复。如当容器宕机或者不小心移除,可重新起一个容器并挂载之前的文件,之前的数据依然存在。
5、验证MySQL容器(查看容器情况)
docker ps -a-a 选项表示显示所有容器,包括已经停止运行的容器。这个命令会列出所有的Docker容器,包括正在运行的和已经停止的。对于每个容器,你将看到容器的ID、名称、创建时间、状态、端口映射等信息。docker ps这个命令默认只显示正在运行的容器。类似于docker ps -a,但只列出正在运行的容器,而不包括已经停止的容器。
因为我是之前就搭建好的,这里可以看到status已经运行六个月了
然后就可以使用navicat进行连接啦
点击测试连接显示成功就可以在项目中使用了
docker拉镜像、创建容器、停止容器、移除容器、构建镜像
docker搭建rabbitmq
docker部署showdoc详细步骤
在docker中搭建部署clickhouse
docker搭建mongodb并挂载外部文件
docker搭建部署minio 存储文件