目的:

为了方便在psql容器创建后,不需要进入其中单独创建我们需要的用户和数据库(或者其他操作),可以编写在Dockerfile时设置初始化脚本。

Dockerfile:

# base镜像是postgres:lates
FROM postgres:latest# 镜像相关的资料信息
LABEL maintainer="Prin<xxx@qq.com>"
LABEL version = "1.0"
LABEL description="prin psql images"# 设置环境变量,超级管理员的密码是必须设置的
ENV POSTGRES_PASSWORD=Cisc0123# 向/docker-entrypoint-initdb.d/目录下添加init-user-db.sql脚本
ADD init-user-db.sql /docker-entrypoint-initdb.d/

容器运行时,psql会自动读取/docker-entrypoint-initdb.d/目录下的.sql脚本,并执行。

init-user-db.sql:

    CREATE USER dev_dbuser WITH PASSWORD 'Cisc0123';CREATE DATABASE dev_db;GRANT ALL ON DATABASE dev_db TO dev_dbuser;

创建管理员、数据库,并且赋予管理员权利。.sql文件最后和Dockerfile放在同一个文件夹中。

在Dockerfile所在的文件夹下:

步骤1:在当前目录下使用Dockerfile构建镜像

docker build -t prin/psql .

步骤2:使用镜像生成容器

docker run --name dev_db_psql -p 5432:5432 -d prin/psql

步骤3:远程设备访问数据库,可以直接用脚本中的账号数据库登陆,回车后输入密码即可

psql -U dev_dbuser -d dev_db -h 192.168.0.109(运行容器设备的IP地址)

PSQL容器带脚本初始化相关推荐

  1. 如何在Mysql的Docker容器启动时初始化数据库

    1.前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. ...

  2. docker 容器启动顺序_Docker容器启动时初始化Mysql数据库

    1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案 ...

  3. docker mysql数据库初始化_如何在Mysql的Docker容器启动时初始化数据库

    1.前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. ...

  4. Spring源码解读(一)——容器是如何初始化的

    为什么要读源码 Spring是一群优秀的框架组成的社区.现在已经非常丰富了.当我们享受着Spring带来的便利同时,有时也想一探究竟. 人人都说Spring好,难免有人趋之若鹜,如果让你说出个究竟,你 ...

  5. c++容器定义、初始化、赋值

    令C表示六个顺序容器类型期中之一(vector,deque,list,forward,string,array),以下详细说明定义和初始化以及赋值. 1.容器定义和初始化 (1)C  c;默认构造函数 ...

  6. Spring容器是怎么初始化的?

    Spring容器是怎么初始化的 原创声明 本人署名原创文章,未经许可不支持转载.本公众号所有文章均原创,为了容易理解和记忆,文章以图解为主.代码为辅.如果您感兴趣,欢迎关注! 文/吴潇(Java Se ...

  7. JPOM - Server启动流程脚本初始化源码解析

    文章目录 地址 版本 Server启动流程&脚本初始化流程 地址 Gitee: https://gitee.com/dromara/Jpom 官网: https://jpom.io/ 一款简而 ...

  8. C++知识点31——使用C++标准库(关联容器multimap及其初始化,赋值,查找,添加,删除与迭代器失效)

    关于关联容器map已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877中介绍完了 multimap和map非常类似,容器中的元 ...

  9. C++知识点30——使用C++标准库(关联容器map及其初始化,赋值,查找,添加,删除与迭代器失效)

    一.关联容器简介 关于顺序容器和关联容器的区别已经在博客https://blog.csdn.net/Master_Cui/article/details/107427911中提过 C++标准库中的关联 ...

  10. C++知识点24——使用C++标准库(顺序容器deque的初始化,赋值,访问,添加,删除,交换与迭代器失效)

    deque容器是双端队列,使用前,需要添加#include <deque> deque的内存结构如下: 根据上图可知,deque和vector,string稍有不同,deque的内存是分段 ...

最新文章

  1. python3 %%time 表示执行单元格时间 时间指的是CPU时间
  2. Python大佬 | 菜鸟进阶必备的九大技能!
  3. 解决oracle11g的ORA-12505问题
  4. Bash中的whereis
  5. LeetCode 8 字符串转换整数 (atoi)
  6. NOIP模拟测试17「入阵曲·将军令·星空」
  7. 【Pytorch神经网络基础理论篇】 05 矩阵计算
  8. mysql分页查询报错,及解决
  9. 启动kafka失败报内存不足(Cannot allocate memory)
  10. markdown html图片,Markdown语法对应的HTML标签实现
  11. 余承东:华为P50系列无5G版本,但依然流畅
  12. 2011年国外最受欢迎的15个音乐网站
  13. 《linux核心应用命令速查》连载六:batch:在系统负载水平允许的时候执行命令
  14. ffmpeg使用说明书
  15. 计算机鼠标左键的主要应用,鼠标的应用
  16. 【pip command】之卸载 pip 之后重新安装
  17. 0xc0000225无法进系统_0xc0000225无法进系统 - 卡饭网
  18. salt自定义returner+fluent+mysql进行数据采集
  19. 面向对象之相关综合练习题
  20. 有100块钱,每3块钱可以买一瓶汽水,每3个瓶子可以换一瓶汽水。问最后能买几瓶汽水

热门文章

  1. 原来算法还能这样用图画出来?
  2. 写题10分钟,写题解8小时,一道头条面试题,真心难。
  3. 从零实现深度学习框架——逻辑回归中的数值稳定
  4. Netty in action—Netty中的ByteBuf
  5. 用PWA构建一个完全离线的网站
  6. 张亚勤新作《变革中的思索》谈高科技人才管理
  7. 信息检索评价标准计算
  8. html样式超出出现滚动条,CSS 设置的高度超出屏幕高度为什么没出现滚动条?
  9. [编程题]手机屏幕解锁模式
  10. Harmony OS — TabList和Tab分页栏