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. ciscn-华北赛区-Day1-Web2题解

    漏洞点 薅羊毛逻辑漏洞 Cookie伪造 -> JWT python反序列化 -> 反弹shell 薅羊毛逻辑漏洞 打开题目是这样一个页面 其实最初的题目这个募集资金的进度条是没有刷满的, ...

  2. ssh配置互信不成功,两台服务器有一台需要输入密码

    在客户现场,某国产平台,配置机器互信时发现,A可以免密访问B,而B不能免密访问A,且B不能免密访问B,进行了下面的几个处理后搞定. 1)确定目录权限:/root/ 755/root/.ssh 700/ ...

  3. Python学习【day03】- Python基础练习题(列表、元组、字典)

    #!/usr/bin/env python # -*- coding:utf8 -*- # 1.有两个列表 # l1 = [11,22,33] # l2 = [22,33,44] # a.获取内容相同 ...

  4. Luogu P3520 [POI2011]SMI-Garbage

    题目 把要变边权的边拿出来找欧拉回路就行了.正确性显然,因为一条边经过两次相当于对欧拉回路度数的奇偶性没有影响. 然后把一个个小环输出即可,具体的我也不知道怎么输,题目没讲清楚,我按着题解的来的. # ...

  5. 手写一个python迭代器

    分析 我们都知道一个可迭代对象可以通过iter()可以返回一个迭代器. 如果想要一个对象称为可迭代对象,即可以使用for,那么必须实现__iter __()方法. 在一个类的实例对象想要变成迭代器,就 ...

  6. 简单的shell练习

    1.判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.”# ...

  7. P3488 [POI2009]LYZ-Ice Skates

    传送门 这一题基础是二分图匹配,并且要知道一个 $Hall$ 定理:对于二分图能完全匹配的充要条件是,设点数少的那边为左边,点数为 $n$,对于 $k \in [1,n]$ ,左边任意 $k$ 个点, ...

  8. MyBatis的foreach查询(List、Array、Map)

    mybatis 中 foreach collection的三种用法 foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合. foreach元素的属性主要有 item,index ...

  9. 禁止antd Input.Password浏览器自动回传

    设置autoComplete为new-password

  10. spring boot 开启Druid监控功能

    1.配置yml spring: datasource: # 数据源基本配置 username: song password: 123456 driver-class-name: com.mysql.j ...