欢迎访问我的GitHub

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

起因是懒

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

群晖解决烦恼

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

  • 下图是DS218+刚买来的样子,两块NAS硬盘,一直在稳定服务:

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

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

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

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

取得docker镜像地址

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

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

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

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

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

在群晖docker下载镜像

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

  • 点击下图红框中的Docker

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

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

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

  • 静候它下载完毕

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

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

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

  • 点击下图红框中的File Station

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

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

创建容器前的信息汇总

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

创建容器

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

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

  • 先配置文件夹映射

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

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

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

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

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

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

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

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

验证

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

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

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

欢迎关注博客园:程序员欣宸

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

群晖DS218+部署PostgreSQL(docker)的更多相关文章

  1. 群晖DS218+部署GitLab

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. 群晖DS218+部署mysql

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  3. 群晖DS218+部署kafka

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  4. 群晖DS218+部署Harbor(1.10.3)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. 群晖DS218+做maven私服(nexus3)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  6. K8S使用群晖DS218+的NFS

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. 群晖NAS百度云Docker客户端下载目录没有权限的问题解决

    针对这篇文章:https://zhuanlan.zhihu.com/p/42267779的问题,需要ssh进去群晖,然后把目录设置成777权限.命令如下: sudo chmod -R 777 /vol ...

  8. 群晖下 gitea+drone+harbor实现CI/CD 发布到云服务器

    常用命令 sudo -i然后输入密码登录root账户(群晖默认只能使用admin账号登陆) vim xxx编辑(编辑是进去之后按i,退出并保存是按esc,然后:wq!再回车) mkdir xx创建文件 ...

  9. 群晖-使用docker套件部署Prometheus+Grafana

    Docker 部署 Prometheus 说明: 先在群辉管理界面安装好docker套件,修改一下镜像源(更快一点) 所需容器如下 Prometheus Server(普罗米修斯监控主服务器 ) No ...

  10. 使用Docker构建持续集成与自动部署的Docker集群

    为什么使用Docker " 从我个人使用的角度讲的话  部署来的更方便 只要构建过一次环境 推送到镜像仓库 迁移起来也是分分钟的事情 虚拟化让集群的管理和控制部署都更方便 hub.docke ...

随机推荐

  1. 2022-09-16:以下go语言代码输出什么?A:101;B:100;C:1;D:2。 package main import ( “fmt“ ) type MS struct {

    2022-09-16:以下go语言代码输出什么?A:101:B:100:C:1:D:2. package main import ( "fmt" ) type MS struct ...

  2. 2021-01-05:mysql的自增id的实现逻辑是什么样子的?

    福哥答案2021-01-05:答案来自这个链接:[ 每日一面 - mysql 的自增 id 的实现逻辑是什么样子的?](https://zhanghaoxin.blog.csdn.net/articl ...

  3. 2021-02-05:给定一个数N,想象只由0和1两种字符,组成的所有长度为N的字符串。如果某个字符串,任何0字符的左边都有1紧挨着,认为这个字符串达标。请问有多少达标的字符串?

    2021-02-05:给定一个数N,想象只由0和1两种字符,组成的所有长度为N的字符串.如果某个字符串,任何0字符的左边都有1紧挨着,认为这个字符串达标.请问有多少达标的字符串? 福哥答案2021-0 ...

  4. 2021-11-22:给定一个正数数组arr,表示每个小朋友的得分; 任何两个相邻的小朋友,如果得分一样,怎么分糖果无所谓,但如果得分不一样,分数大的一定要比分数少的多拿一些糖果; 假设所有的小朋友坐

    2021-11-22:给定一个正数数组arr,表示每个小朋友的得分: 任何两个相邻的小朋友,如果得分一样,怎么分糖果无所谓,但如果得分不一样,分数大的一定要比分数少的多拿一些糖果: 假设所有的小朋友坐 ...

  5. uni-app介绍

    "优你"框架 uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.Web(响应式).以及各种小程序(微信/支付宝/ ...

  6. (偶尔更新)【Linux】Linux常见不常用命令收集

    本文时间 2023-05-20 作者:sugerqube漆瓷 cd,vi,clear这些属于常见常用命令本文不再赘述. 安装命令 yum install vim举例安装vim rpm -ivh a.r ...

  7. Python实现猜拳小游戏的多种方式

    简介 猜拳小游戏是一个经典的小游戏项目,也是初学者学习编程的必要练手题目之一.在 Python 中,我们可以使用多种方式来实现一个简单的猜拳小游戏. 本文将依次介绍六种Python实现猜拳小游戏的方法 ...

  8. 【Netty】02-入门

    二. Netty 入门 1. 概述 1.1 Netty 是什么? Netty is an asynchronous event-driven network application framework ...

  9. Prompt 手册——gpt-best-practices

    本文链接:https://www.cnblogs.com/wanger-sjtu/p/17470388.html 本文是 OpenAI gpt-best-practices 对如何使用GPT的Prom ...

  10. React组件三大属性state,props,refs

    1. React组件定义 1.1 函数组件(Function Components) 函数组件是一种简单的定义组件的方式,通过一个JavaScript函数来定义组件.函数接收一个props对象作为参数 ...