PSQL容器带脚本初始化
目的:
为了方便在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容器带脚本初始化相关推荐
- 如何在Mysql的Docker容器启动时初始化数据库
1.前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. ...
- docker 容器启动顺序_Docker容器启动时初始化Mysql数据库
1. 前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案 ...
- docker mysql数据库初始化_如何在Mysql的Docker容器启动时初始化数据库
1.前言 Docker在开发中使用的越来越多了,最近搞了一个Spring Boot应用,为了方便部署将Mysql也放在Docker中运行.那么怎么初始化 SQL脚本以及数据呢? 我这里有两个传统方案. ...
- Spring源码解读(一)——容器是如何初始化的
为什么要读源码 Spring是一群优秀的框架组成的社区.现在已经非常丰富了.当我们享受着Spring带来的便利同时,有时也想一探究竟. 人人都说Spring好,难免有人趋之若鹜,如果让你说出个究竟,你 ...
- c++容器定义、初始化、赋值
令C表示六个顺序容器类型期中之一(vector,deque,list,forward,string,array),以下详细说明定义和初始化以及赋值. 1.容器定义和初始化 (1)C c;默认构造函数 ...
- Spring容器是怎么初始化的?
Spring容器是怎么初始化的 原创声明 本人署名原创文章,未经许可不支持转载.本公众号所有文章均原创,为了容易理解和记忆,文章以图解为主.代码为辅.如果您感兴趣,欢迎关注! 文/吴潇(Java Se ...
- JPOM - Server启动流程脚本初始化源码解析
文章目录 地址 版本 Server启动流程&脚本初始化流程 地址 Gitee: https://gitee.com/dromara/Jpom 官网: https://jpom.io/ 一款简而 ...
- C++知识点31——使用C++标准库(关联容器multimap及其初始化,赋值,查找,添加,删除与迭代器失效)
关于关联容器map已经在博客https://blog.csdn.net/Master_Cui/article/details/108690877中介绍完了 multimap和map非常类似,容器中的元 ...
- C++知识点30——使用C++标准库(关联容器map及其初始化,赋值,查找,添加,删除与迭代器失效)
一.关联容器简介 关于顺序容器和关联容器的区别已经在博客https://blog.csdn.net/Master_Cui/article/details/107427911中提过 C++标准库中的关联 ...
- C++知识点24——使用C++标准库(顺序容器deque的初始化,赋值,访问,添加,删除,交换与迭代器失效)
deque容器是双端队列,使用前,需要添加#include <deque> deque的内存结构如下: 根据上图可知,deque和vector,string稍有不同,deque的内存是分段 ...
最新文章
- python3 %%time 表示执行单元格时间 时间指的是CPU时间
- Python大佬 | 菜鸟进阶必备的九大技能!
- 解决oracle11g的ORA-12505问题
- Bash中的whereis
- LeetCode 8 字符串转换整数 (atoi)
- NOIP模拟测试17「入阵曲·将军令·星空」
- 【Pytorch神经网络基础理论篇】 05 矩阵计算
- mysql分页查询报错,及解决
- 启动kafka失败报内存不足(Cannot allocate memory)
- markdown html图片,Markdown语法对应的HTML标签实现
- 余承东:华为P50系列无5G版本,但依然流畅
- 2011年国外最受欢迎的15个音乐网站
- 《linux核心应用命令速查》连载六:batch:在系统负载水平允许的时候执行命令
- ffmpeg使用说明书
- 计算机鼠标左键的主要应用,鼠标的应用
- 【pip command】之卸载 pip 之后重新安装
- 0xc0000225无法进系统_0xc0000225无法进系统 - 卡饭网
- salt自定义returner+fluent+mysql进行数据采集
- 面向对象之相关综合练习题
- 有100块钱,每3块钱可以买一瓶汽水,每3个瓶子可以换一瓶汽水。问最后能买几瓶汽水