群晖在docker中安装和配置 mysql

步骤1:在套件中心中安装 docker,和其它套件的安装无区别。为突出重点,对 docker 的安装不展开说明。

安装和配置

步骤二:下载 mysql,我选择 5.7.9 版。下载的方法,点击左边注册表面板,查找到 mysql,双击,选择合适的版本下载:

由于服务器在国外的原因,下载可能非常缓慢,可以切换为国内的服务器。经测试,阿里云的镜像加速可以使用。先通过 网页 https://cn.aliyun.com/ 进入,登录后点击右上角的控制台按钮:

搜索:容器镜像服务,找到镜像工具和加速地址,将加速地址复制。

选择 Docker Hub,点击编辑按钮:

勾上启用注册表镜像,并且将镜像加速地址拷贝到注册表镜像 URL:

下载完成后,切换到映像面板,点击启动按钮,在启动过程中,填写设置项:

常规设置:

存储空间:

安装 docker 时,会自动创建一个名为 docker 的共享文件夹,将 docker 共享文件夹的权限设置为 everyone,允许读写。

这里有一个知识点,docker 管理的 mysql 应用,mysql 数据存放的位置可以有两个地方:一是由 docker 容器来进行管理存放在容器内部,这种方式的缺点是重启容器后,所有的数据都会丢失,不能持久化。第二个地方是通过卷映射的方式将 data 存放在群晖的文件夹下面。上图就表示将 mysql 在容器中的 /var/lib/mysql 文件夹映射到群晖 docker/mysql57/data 文件夹下面。/var/lib/mysql 这个参数是从哪里来的呢?一会我们启动容器之后,进入容器中看一看就明白了。网上有很多教程,这里填写都是错误的,也没说清楚原理。

端口设置:

该步骤的作用是设置端口映射,目的是允许外部访问。后面还需要在路由器中设置端口映射。

环境:

MYSQL_ROOT_PASSWORD 为手工添加,其它是安装 mysql 自带的。MYSQL_ROOT_PASSWORD 用于设置 root 的密码。

切换到 容器 面板,如果启动没有问题,则表示安装成功。

进入 mysql

通过下面的方式进入 mysql 环境:

配置远程访问

进入 mysql 数据库查看设置:

路由器配置端口转发。不同的路由器设置界面各异,但原理相同:

mysql 数据文件的位置

mysql 比较关键的有 data, log 和 conf 三个参数的设置,可以进入容器,查看 /etc/mysql/my.cnf 这个配置文件:

在这里可以查看到 datadir ,即数据文件存放的位置。我们通过卷映射的方法,将数据文件持久化到群晖宿主。

参考