1、Dockerfile

FROM library/postgres
MAINTAINER wenbin.ouyang #初始化PostgreSQL
ENV POSTGRES_USER root
ENV POSTGRES_PASSWORD root
ENV POSTGRES_DB noah

ADD ./noah_pgsql_init.sql /docker-entrypoint-initdb.d/ #容器运行时监听的端口
EXPOSE

  

2、构建镜像

docker build -f ./Dockerfile -t oy/pgsql:1.0. .

  docker images: 查看镜像

3、创建容器

  容器中postgresql的数据存放位置:/var/lib/postgresql/data,通过容器添加卷指令将容器数据存放位置映射到宿主机:-v /var/lib/postgresql/oy_PostgreSQL_1.0.0_data:/var/lib/postgresql/data

docker run -it -p : -v /var/lib/postgresql/oy_PostgreSQL_1..0_data:/var/lib/postgresql/data oy/pgsql:1.0.

  docker ps: 查看运行的容器

  docker exec -it 容器id /bin/bash:进入到容器

  创建容器时的打印:

root@alihkdev13:/usr/local/resource# docker run -it -p 9001:5432 -v /var/lib/postgresql/oy_PostgreSQL_1.0.0_data:/var/lib/postgresql/data oy/pgsql:1.0.0
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process. The database cluster will be initialized with locale "en_US.utf8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english". Data page checksums are disabled. fixing permissions on existing directory /var/lib/postgresql/data ... ok
creating subdirectories ... ok
selecting dynamic shared memory implementation ... posix
selecting default max_connections ...
selecting default shared_buffers ... 128MB
selecting default time zone ... Etc/UTC
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok initdb: warning: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D /var/lib/postgresql/data -l logfile start waiting for server to start....-- ::08.792 UTC [] LOG: starting PostgreSQL 12.1 (Debian 12.1-.pgdg100+) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.-) 8.3., -bit
-- ::08.803 UTC [] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
-- ::08.861 UTC [] LOG: database system was shut down at -- :: UTC
-- ::08.881 UTC [] LOG: database system is ready to accept connections
done
server started
CREATE DATABASE /usr/local/bin/docker-entrypoint.sh: running /docker-entrypoint-initdb.d/noah_pgsql_init.sql
psql:/docker-entrypoint-initdb.d/noah_pgsql_init.sql:: NOTICE: table "encryption" does not exist, skipping
DROP TABLE
CREATE TABLE
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT -- ::09.409 UTC [] LOG: received fast shutdown request
waiting for server to shut down....-- ::09.429 UTC [] LOG: aborting any active transactions
-- ::09.430 UTC [] LOG: background worker "logical replication launcher" (PID ) exited with exit code
-- ::09.431 UTC [] LOG: shutting down
-- ::09.526 UTC [] LOG: database system is shut down
done
server stopped PostgreSQL init process complete; ready for start up. -- ::09.653 UTC [] LOG: starting PostgreSQL 12.1 (Debian 12.1-.pgdg100+) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.-) 8.3., -bit
-- ::09.653 UTC [] LOG: listening on IPv4 address "0.0.0.0", port
-- ::09.653 UTC [] LOG: listening on IPv6 address "::", port
-- ::09.670 UTC [] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
-- ::09.718 UTC [] LOG: database system was shut down at -- :: UTC
-- ::09.737 UTC [] LOG: database system is ready to accept connections

基于官方postgres docker镜像制作自己的镜像的更多相关文章

  1. docker commit 制作自定义tomcat镜像

    官网下载的tomcat一般存在漏洞,在生产环境中一般是自己下载jdk和tomcat制作成一个新的镜像使用 1.将jdk和tomcat上传 2.生成 c3 容器 3.将jdk和tomcat拷贝到c3容器 ...

  2. 基于docker的centos:latest镜像制作nginx的镜像

    Dockerfile和nginx.repo在同一目录下 先创建nginx.repo [root@localhost nginx]# cat nginx.repo [nginx] name=nginx ...

  3. Docker下制作一个容器镜像

    操作过程描述: (1)先基于centos的镜像启动一个centos容器 (2)在这个容器中安装nginx (3)然后把这个已经安装了nginx的容器制作成一个docker的镜像 操作:docker c ...

  4. 使用centos官方镜像制作jdk8环境镜像

    首先将jdk文件或者tar包放在/var/local路径下 然后Dockerfile中写 # 以 centos7 为基础镜像 FROM centos:latest MAINTAINER chen # ...

  5. windows 10专业版14393.447 64位纯净无广告版系统 基于官方稳定版1607制作 更新于20161112

    系统特点: 447更新日志(Win10 PC一周年更新正式版14393.447 32位/64位更新补丁KB3200970下载 Flash补丁Kb3202790下载): 1.通过网友的反馈,保留了Edg ...

  6. Docker镜像管理基础与基于容器的镜像制作示例

    一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建 ...

  7. 测试环境docker化(一)—基于ndp部署模式的docker基础镜像制作

    本文来自网易云社区 作者:孙婷婷 背景 我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏 ...

  8. 基于url-to-pdf-api构建docker镜像,制作一个网页另存服务

    基于url-to-pdf-api构建docker镜像,制作一个网页另存服务 业务背景: 需要根据一个url路径打印这个网页的内容 解决方案: 1.使用wkhtml2pdf 2.使用puppeteer ...

  9. 为openstack制作CoreOS虚拟机镜像(基于CoreOS官方提供镜像)

    OpenStack源码交流群: 538850354 1.下载CoreOS镜像(633.1.0版本) CoreOS官网已经有openstack使用的虚拟机镜像,可以直接下载,然后进行修改 http:// ...

随机推荐

  1. [转帖]运行时库(runtime library)

    运行时库(runtime library) https://blog.csdn.net/xitie8523/article/details/82712105 没学过这些东西 或者当时上课没听 又或者 ...

  2. 安装破解MyEclipse2017CI

    一.下载 1.Myeclipse官网下载地址:http://www.myeclipsecn.com/download/ 2.破解补丁链接:https://pan.baidu.com/s/1Ge_fbm ...

  3. 04: redis集群

    1.1 主从同步 1.CPA原理 1. CPA原理是分布式存储理论的基石: C(一致性):   A(可用性):  P(分区容忍性); 2. 当主从网络无法连通时,修改操作无法同步到节点,所以“一致性” ...

  4. CentOS7 安装ffmpeg

    安装EPEL Release,因为安装需要使用其他的repo源,所以需要EPEL支持:yum install -y epel-release#如果出现缺少Code提示,可以: sudo rpm --i ...

  5. 打不开Call Hierarchy和History的解决方法

    Eclipse打不开Call Hierarchy和History的解决方法   工作中一直使用Eclipse,之前都好好的,最近突然出了问题. 一开始是发现按Ctrl+Alt+H打不开Call Hie ...

  6. (转载)sublime3安装markdown插件

    原文链接 http://www.jianshu.com/p/335b7d1be39e?utm_source=tuicool&utm_medium=referral 最近升级到了 Sublime ...

  7. 【electronjs入门教程 】electronjs 介绍

    官网地址:https://electronjs.org/ 官网文档地址:https://electronjs.org/docs/ electronjs使用 JavaScript, HTML 和 CSS ...

  8. jquery中的obj.attr()和obj.data

    实例一 obj.attr('data-max-width','aa'): obj.data('max-width') 问题 data只会获取第一次select赋值的值 区别 .data每次是从jque ...

  9. git 基本命令操作

    配置 Git 的相关参数. Git 一共有3个配置文件: 1. 仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库有效.2. 全局配置文件:Mac 系统在 ~/.gi ...

  10. Python新式类与经典类(旧式类)的区别

    看写poc的时候看到的,思考了半天,现在解决了 转载自http://blog.csdn.net/zimou5581/article/details/53053775 Python中类分两种:旧式类和新 ...