大家好,我是前端西瓜哥。
本文是使用 Docker 安装运行 MySQL 的教程。
默认读者已经对 docker 会一些简单操作,比如会查看 container 列表、删除 container 之类的简单管理命令。
先简单说 Docker 的几个概念:
image:镜像。你可以把它理解为安装包。你要运行 mysql,首先得有一个 image。这里你需要注意软件的版本问题。
container:容器。mysql 通过 image 安装到的一个虚拟容器。Docker 的牛逼之处就是它可以将不同的服务隔离,放到不同容器。这个容器可以当作一个小型的独立的操作系统。容器可以启动、暂停、销毁。通常我们会将容器内部的端口映射到你的原生操作系统的端口上,实现访问。
volumes:数据卷。像是 mysql 里面产生的数据,可以通过 volume 的方式映射到宿主环境中,这样 container 销毁数据还能保留下来。
首先安装并启动 Docker,建议下载支持可视化的桌面端。
下面进入正题。
执行后,docker 会在本地看有没有 mysql:5.7 的 image,如果没有就会下载,然后再基于这个 image 构建出我们的容器实例。
更多 docker run 命令说明请查阅官方文档: https://docs.docker.com/engine/reference/commandline/run/
如果你用的是 ARM 架构 的计算机(比如 Macbook Pro M1),可能会失败:
因为某个 image 可能不支持 ARM。最新的几个版本是支持的 ARM,但我这个 5.7 比较古老,就不支持了。
好在 Macbook Pro M1 支持用 x86 转译为 ARM,安装 x86 版本也无所畏惧。所以我们可以加上 来指定平台类型,而不是默认的系统来自动设置,这样就能找到 image。
然后我们就可以在 container 列表看到这个 app-mysql 成功启动了。
命令工具的查看写法为:
接着就是用 mysql 客户端去通过映射出来的 3306 端口进行连接。
mysql 客户端要自行安装,可以装命令行工具,或者可视化工具,macOS 下我推荐 Sequel Ace。
容器中的生成的数据会保留在 container 中。如果我们销毁了 container,之前创建的表和数据都会丢失。

如果你希望将它们留下来,可以考虑做一个文件系统的映射。你需要加一个 -v 选项。
:指定的宿主的目录就会映射到容器目录上,里面的数据在 contaienr 销毁后依旧存在。
这里我们让 container 下的 /var/lib/mysql 目录保存到名为 app-mysql 的 volume 下。可以通过 命令查看有哪些 volume。
也可以指定宿主环境的一个绝对路径,让文件都保存在这个位置上,这样的话它们不会出现在 volume 列表中。
再简单说说怎么去查看 docker 支持的 mysql 版本。
我们可以去官网找到 mysql 的页面:
https://hub.docker.com/search?q=mysql
点进去 mysql 就能看到它支持的 tag:
如果你找不到你需要的版本,或者比较特殊,就需要自己做 image 了。
至此,mysql 就算是成功安装运行了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/208167.html