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. SpringMVC必备知识点汇总

    1.参数接收 1.1 数组 1.2 文件上传 1.2.1 单个文件上传 1.2.2 多个文件上传 1.2.3 文件上传时,携带其他数据 2.参数校验 参数校验:https://www.cnblogs. ...

  2. [转帖]开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 https://www.geek-workshop.com/thread-1860-1-1.html     liamj ...

  3. js数据结构-链表

    链表和数组 大家都用过js中的数组,数组其实是一种线性表的顺序存储结构,它的特点是用一组地址连续的存储单元依次存储数据元素.而它的缺点也正是其特点而造成,比如对数组做删除或者插入的时候,可能需要移动大 ...

  4. py2 json字符串转字典去掉前缀u

    def unicode_convert(input): if isinstance(input, dict): return {unicode_convert(key): unicode_conver ...

  5. zabbix-3.4.6安装

    先安装myql和phpmysql5.7.17: http://www.cnblogs.com/cjsblogs/p/8116782.htmlphp7.2.1: http://www.cnblogs.c ...

  6. node工具之nodemon

    nodemon nodemon是一种工具,可以自动检测到目录中的文件更改时通过重新启动应用程序来调试基于node.js的应用程序. 安装 npm install -g nodemon //或 npm ...

  7. spring boot 配置文件动态更新原理 以Nacos为例

    配置文件的动态更新 通常获取配置文件的方式 1, @Value 2. @ConfigurationProperties(Prefix) 如果是在运行时要动态更新的话, 第一种方式要在bean上加@Re ...

  8. ELK电子书籍

    Elasticsearch in Action(英文版).pdfElasticsearch实战 in action(中文版).pdfElasticsearch技术解析与实战.pdfElasticsea ...

  9. 第一个SpringMVC应用流程总结

  10. Vue初始化一个项目

    @1 npm install -g @vue/cli-init vue init webpack projectName @2 cnpm install -g @vue/cli vue create ...