坏蛋Dan
知乎@坏蛋Dan
发布时间:2024.1.4

前言

没有

可以去看下我后面写的简单入门文章:

坏蛋Dan:docker简单入门

docker

docker是啥我就不多说了:Docker: Accelerated, Containerized Application Development

postgresql

这个是啥我也不多说了:PostgreSQL: The world's most advanced open source database


安装

数据存放位置

这个pgdata文件夹就是存放持久化数据的位置

或者手动创建本地的数据卷,让docker指向这个数据卷

这个是本地和docker共享的,可以保证数据持久。

然后我们可以看下存储的位置

这个/var/lib/docker/volumes/pgdata/_data就是持久化的位置

但实际上不用也是可以的

拉取postgres

直接拉最新版本的

然后看下镜像

如果你想拉别的版本,那么你可以使用docker search postgres来找到你想要的版本。

然后给这个镜像创建容器

创建容器

先是指向特定文件夹的

然后来是指向特定数据卷的

  • -p:暴露出来的端口,可以通过该端口访问数据库
  • -e:参数
  • POSTGRES_PASSWORD:你数据库的登录密码
  • -v:挂载的目标,我们把持久化的目录挂载到容器里的数据存储文件夹,这样即使是容器被删除之后数据也不会丢失了。
  • --name:容器的名字
  • -d:指定创建容器的镜像

然后我们docker -ps -a可以看下创建的容器

进入容器

远程连接

我这里直接使用HeidiSQL[1]来连接了。当然,如果你是云机子,你需要先在防火墙那里添加5432端口的白名单。

hedisql不会直接展示数据库,而是schema。不过这不影响,我们创建一个blog的数据库,然后退出重新进,在管理器那里选择blog就行

然后建表

这样就行了

当然,你也可以删除下容器然后重新创建容器(注意指向之前存放数据的位置),看数据是否还在。

参考

  1. ^heidisql https://www.heidisql.com/download.php

编辑于 2023-12-15 14:07・IP 属地广东