群晖DS218+部署PostgreSQL(docker)

2023年 7月 19日 117.1k 0

欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):github.com/zq2599/blog…

起因是懒

  • 最近在开发中要用到PostgreSQL数据库,不想装在MacBook上(也不想装docker),于是安装在另一台电脑上,用的时候打开电脑运行数据库,用完再关闭电脑,总觉得这些操作挺麻烦(您想骂我懒么?您骂得对.....)

群晖解决烦恼

  • 家里有台群晖DS218+,从不关机,为全家提供稳定的图片和视频服务,之前已在上面部署了maven私服、MySQL,运行得很稳定,今天就把PostgreSQL也部署在上面吧,今后可以随时想用就用,反正两年了从未关机,也没啥毛病,算得上懒人救星了。

  • 下图是DS218+刚买来的样子,两块NAS硬盘,一直在稳定服务:
    在这里插入图片描述

  • 下图是网购的内存条,现在一共2+8=10G内存,内存充足才是敢折腾的底气:
    在这里插入图片描述

  • 如果您想在群晖的docker上安装其他镜像服务,本篇也可以作为参考,镜像、文件夹、端口、参数略有不同而已,基本步骤是一样的

  • 总的来说,今天的操作需要五步

  • 取得docker镜像地址
  • 准备文件夹,用于映射容器内部文件夹
  • 创建容器前的信息汇总
  • 在群晖docker上创建容器
  • 验证
    • 接下来开始操作吧

    取得docker镜像地址

    • 在群晖的docker上现在镜像,需要提供docker镜像地址,本段就是获取镜像的地址的过程

    • 浏览器输入地址:registry.hub.docker.com/search

    • 在以下页面搜索镜像,红框内就是我输入的搜索内容postgres

    image-20220503142832579

    • 在搜索结果中找到自己想要的,点击下图红框中的内容,即可进入镜像详情页

    image-20220503143012267

    • 详情页的地址就是我们需要的,将其复制下来,如下图红框,内容是registry.hub.docker.com/_/postgres

    image-20220503143242104

    • 至此,地址取到了,接下来可以登录群晖桌面,开始创建容器的操作

    在群晖docker下载镜像

    • 点击下图红框中的图标,进入主菜单

      image-20220503144900726

    • 点击下图红框中的Docker

    image-20220503145810179

    选择映像 -> 新增 -> 从URL添加

    image-20220503145946367

    • 在下图红框位置输入刚才复制的镜像地址registry.hub.docker.com/_/postgres,然后点击右下角的新增按钮

    image-20220503150156651

    • 稍等片刻,会弹出下拉菜单,列出所有可选标签,您选择适合自己的那个

    image-20220503150538727

    • 此刻,群晖会自动下载您选择的镜像

    image-20220503150658998

    • 静候它下载完毕

    准备文件夹,用于映射容器内部文件夹

    • docker容器运行时产生的文件,在删除容器时也会随之被删除,有时我们希望能够将其保留下来,这就需要将容器的指定目录映射到宿主机的指定目录,如此就算容器销毁删除了,其数据也会在宿主机上保留

    • 点击下图红框中的图标,进入主菜单

      image-20220503144900726

    • 点击下图红框中的File Station

    image-20220503144732853

    • 找一个合适的位置新建文件夹,我这里在docker目录下新建了名为postgres的文件夹

    image-20220503145102076

    • 如此,群晖的/docker/postgres目录就会被用来保存postgresql容器生成的文件了

    创建容器前的信息汇总

    • 创建容器前,先汇总一下即将配置的参数信息,稍后都会用到,以我这边的postgresql为例,稍后要做以下配置
  • 文件夹映射:容器的/var/lib/postgresql/data对应宿主机的/docker/postgres
  • 端口映射:容器的5432对应宿主机的5432
  • 环境变量(数据库账号):POSTGRES_USER=quarkus
  • 环境变量(数据库密码):POSTGRES_PASSWORD=123456
  • 环境变量(数据库名):POSTGRES_DB=quarkus_test
    • 上述信息要提前准备好,稍后创建容器是需要逐个配置

    创建容器

    • 按照下图操作,进入创建执行镜像的容器的页面

    image-20220503151129801

    • 在弹出的窗口点击下图红框中的高级设置

    image-20220503152059403

    • 先配置文件夹映射

    image-20220503152356956

    • 然后是端口映射,自己指定,还可以不填,让docker服务自动分配

    image-20220503153131654

    • 最后把三个环境变量填好,再点击右下角的应用按钮

    image-20220503152842355

    • 回到了刚才的页面,点击下一步

    image-20220503152959428

    • 在摘要页面确认所有信息准确无误,点击右下角的完成即可创建容器

    image-20220503153238088

    • 在容器页面中可以看到运行情况

    image-20220503153529658

    • 再去File Station查看/docker/postgres文件夹,发现里面新增了大量内容,这都是容器的文件

    image-20220503153727782

    • 注意,如果此时提示容器创建失败,请检查映射目录的权限,要设置为允许写入,如下图

    image-20220503145508193

    • 至此,容器创建成功,接下来验证数据库是否正常

    验证

    • 我这边群晖的IP地址是192.168.50.43,容器的5432端口映射到宿主机的15432端口,所以数据库的连接地址是192.168.50.43:15432

    • 我用的是IDEA上自带的数据库工具,您可以选择自己趁手的工具做连接测试,如下图,连接成功,证明数据库在群晖上工作正常

    image-20220503154744222

    • 至此,群晖上下载镜像运行容器的操作就全部完成了,如果您想在群晖的docker上安装其他镜像服务,本篇也可以作为参考,镜像、文件夹、端口、参数略有不同而已,基本步骤是一样的

    欢迎关注掘金:程序员欣宸

    学习路上,你不孤单,欣宸原创一路相伴...

    相关文章

    JavaScript2024新功能:Object.groupBy、正则表达式v标志
    PHP trim 函数对多字节字符的使用和限制
    新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
    使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
    为React 19做准备:WordPress 6.6用户指南
    如何删除WordPress中的所有评论

    发布评论