概述
简介
以PostgreSQL 11.4版本为例,介绍windows环境下,使用Dockerfile制作PostgreSQL镜像并运行的的方法。
本文目录结构
E:documentPostgreSQL
├─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文件夹。
最后
以上就是怕孤单服饰为你收集整理的【docker】windows Dockerfile制作PostgreSQL镜像的全部内容,希望文章能够帮你解决【docker】windows Dockerfile制作PostgreSQL镜像所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复