栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Postgres docker环境搭建

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Postgres docker环境搭建

文章目录
  • Postgres简介
  • Docker简介
  • Alpine简介
  • 创建镜像
  • 创建容器
  • 导出镜像
  • 参考

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 

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官方镜像

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/468598.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号