【docker】windows Dockerfile制作PostgreSQL镜像

简介

以PostgreSQL 11.4版本为例,介绍windows环境下,使用Dockerfile制作PostgreSQL镜像并运行的的方法。

本文目录结构

E:\document\PostgreSQL
├─Dockerfile
└─pgdata(空文件夹,用于存放数据文件)

pgdata文件夹的作用(重要)

运行容器时需要将自己电脑上的pgdata挂载到容器中,作为数据存储的位置,这样即使容器和镜像被删除,数据依然会存在自己电脑上。
注:
1、运行容器时,若自己电脑上的pgdata文件夹为空,则会创建初始数据;
2、运行容器时,若pgdata不为空,已经有之前的数据文件,则会保留并沿用pgdata中的数据。

Dockerfile文件编写

# 拉取官方镜像
FROM postgres:11.4
# 设置作者名字(选配)
LABEL author="hahaha"

# 设置时区(建议配置)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo 'Asia/Shanghai' >/etc/timezone

#初始化PostgreSQL
# super user 用户名(建议配置)
ENV POSTGRES_USER root

# super user 密码(建议配置)
ENV POSTGRES_PASSWORD Abc123++

# 创建一个数据库,设置其名称(建议配置)
ENV POSTGRES_DB db

# 设置docker中的数据存储路径(选配)
# 默认值为/var/lib/postgresql/data,手动配置后会将数据文件存储到新的位置
ENV PGDATA=/var/lib/postgresql/data/pgdata

#容器运行时监听的端口
EXPOSE 5432

打包成镜像文件

使用命令行切换到Dockerfile所在目录(本文以vscode为例,没有vscode可以用cmd)
执行以下命令(注意最后面有一个点):
docker build -t postgresql:v11.4 .

在这里插入图片描述
如下图所示,打包成功后可以在docker客户端上看到PostgreSQL镜像。
在这里插入图片描述

运行镜像

如下图所示,运行镜像,输入任意名字、任意端口(一般是5432),本地pgdata空文件夹,容器中的pgdata文件夹。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值