当前位置:   article > 正文

Postgres docker环境搭建_alpine postgres快速创建

alpine postgres快速创建

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

docker build -t postgres:test .
  • 1

创建容器

镜像完成后就可以创建容器了,创建容器的时候通过-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
  • 1

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

导出镜像

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

-- 导出镜像
docker save postgres:test > postgres.tar
-- 导入镜像
docker load < postgres.tar
  • 1
  • 2
  • 3
  • 4

参考

PostgreSQL官网
postgres官方镜像

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/791571
推荐阅读
相关标签
  

闽ICP备14008679号