简介:本文将介绍如何使用Docker安装MySQL,挂载数据及配置文件,并设置远程访问权限。通过这些步骤,您将能够轻松地管理和使用MySQL数据库。
在开始之前,请确保您已经安装了Docker。接下来,按照以下步骤操作:
如果您想拉取特定版本的镜像,可以使用类似
docker pull mysql
docker pull mysql:8.0.20的命令。mysql-service的容器,将容器的3306端口映射到主机的3306端口,并将主机当前目录下的conf/my.cnf挂载到容器的/etc/mysql/my.cnf:这将创建一个名为
docker run -d -p 3306:3306 --name mysql-service -e MYSQL_ROOT_PASSWORD="root" mysql
mysql-service的容器,并将MySQL服务运行在其中。您可以使用docker ps命令来检查容器的状态。这将打开一个交互式终端,使您能够与容器内的MySQL服务进行交互。
docker exec -it mysql-service bash
my.cnf的位置:这将显示MySQL配置文件的路径。请注意,实际的路径可能会有所不同,具体取决于您的容器和系统配置。
mysql --help | grep my.cnf
请将IP地址
mount -t nfs -o vers=4.1,rsize=1048576,wsize=1048576,hard,intr,proto=tcp 192.168.56.20:/var/lib/mysql /mnt/mysql-data
192.168.56.20替换为您的Docker主机IP地址。该命令将容器内的MySQL数据目录挂载到主机上的/mnt/mysql-data目录。确保在执行此命令之前,您已经在主机上创建了该目录。在配置文件中找到类似以下行的内容:
vim /lib/systemd/system/docker.service
makefileExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock将其注释掉或者直接删除,替换成以下内容:makefileExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock保存并退出编辑器。然后重新加载Docker配置并重启服务:shell
systemctl daemon-reload && systemctl restart docker完成这些步骤后,您应该能够从远程主机访问Docker内的MySQL服务了。只需在远程主机上使用类似以下命令即可连接到MySQL服务:shell
curl http://192.168.56.20:2375/version
or在浏览器中访问 http://192.168.56.20:2375/version请将IP地址192.168.56.20替换为您的Docker主机IP地址。通过这些步骤,您应该能够成功地在Docker中安装MySQL,挂载数据及配置文件,并设置远程访问权限。