Postgres docker环境搭建

Postgres简介

Postgres是一款开源的全栈数据库。开发者把它念作 post-gress-Q-L。

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

Alpine简介

Alpine 操作系统是一个面向安全的轻型 Linux 发行版。它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功能上比 busybox 又完善的多,因此得到开源社区越来越多的青睐。

创建镜像

在docker hub上有postgres的官方镜像,可以直接pull下来使用,也可以作为父镜像做一些定制。
由于拉取的镜像直接启动的容器需要设置时区,所以我们可以制作一个设置好时区的dockerfile。

FROM postgres:14.1-alpine3.14
MAINTAINER Hello <hello_world@your.mail>

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories \
 && apk update\
 && apk add -U tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && apk del tzdata 

WORKDIR /var/lib/postgresql/data

然后执行docker命令,生成镜像文件

docker build -t postgres:test .

创建容器

镜像完成后就可以创建容器了,创建容器的时候通过-v把数据库的数据文件及配置目录挂在到宿主机,并且通过-e POSTGRES_PASSWORD和-e POSTGRES_USER指定用户名密码及其他一些参数

docker run --name postgres-test -p15050:5432 -v /data/db/postgres-test/:/var/lib/postgresql/data -e POSTGRES_PASSWORD=f7c757ce9f1e81dbdcb0bac446769e1a -e POSTGRES_USER=postgres -m 4g --shm-size 1g -d postgres:test

容器创建完,可以用客户端工具连接ip和端口,输入用户名密码测试一下。

导出镜像

镜像制作成功后,可以导出tar包,方便其他地方(特别是内网环境)安装的时候直接导入。

-- 导出镜像
docker save postgres:test > postgres.tar
-- 导入镜像
docker load < postgres.tar

参考

PostgreSQL官网
postgres官方镜像

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值