基于官方postgres docker镜像制作自己的镜像

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 5432

  

2、构建镜像

docker build -f ./Dockerfile -t oy/pgsql:1.0.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 9001:5432 -v /var/lib/postgresql/oy_PostgreSQL_1.0.0_data:/var/lib/postgresql/data oy/pgsql:1.0.0

  docker ps: 查看运行的容器

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

  创建容器时的打印:

[email protected]:/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 ... 100
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....2019-12-24 03:20:08.792 UTC [46] LOG:  starting PostgreSQL 12.1 (Debian 12.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2019-12-24 03:20:08.803 UTC [46] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-12-24 03:20:08.861 UTC [47] LOG:  database system was shut down at 2019-12-24 03:20:08 UTC
2019-12-24 03:20:08.881 UTC [46] 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:1: NOTICE:  table "encryption" does not exist, skipping
DROP TABLE
CREATE TABLE
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT
COMMENT

2019-12-24 03:20:09.409 UTC [46] LOG:  received fast shutdown request
waiting for server to shut down....2019-12-24 03:20:09.429 UTC [46] LOG:  aborting any active transactions
2019-12-24 03:20:09.430 UTC [46] LOG:  background worker "logical replication launcher" (PID 53) exited with exit code 1
2019-12-24 03:20:09.431 UTC [48] LOG:  shutting down
2019-12-24 03:20:09.526 UTC [46] LOG:  database system is shut down
 done
server stopped

PostgreSQL init process complete; ready for start up.

2019-12-24 03:20:09.653 UTC [1] LOG:  starting PostgreSQL 12.1 (Debian 12.1-1.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
2019-12-24 03:20:09.653 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
2019-12-24 03:20:09.653 UTC [1] LOG:  listening on IPv6 address "::", port 5432
2019-12-24 03:20:09.670 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2019-12-24 03:20:09.718 UTC [73] LOG:  database system was shut down at 2019-12-24 03:20:09 UTC
2019-12-24 03:20:09.737 UTC [1] LOG:  database system is ready to accept connections

原文地址:https://www.cnblogs.com/xy-ouyang/p/12090702.html

时间: 2024-08-09 16:06:15

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

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

系统特点: 1.集成旧版Framework 3.5. 2.集成微软运行库(2005/2008/2013/2015). 3.集成正版压缩工具WinRAR 5.4. 4.去掉Edge浏览器,桌面显示IE浏览器,并且未锁定IE主页. 5.桌面干净,开始菜单简洁. 6.精简win 10无用组件.删除很多appx软件,仅保留计算器. 7.关闭自带防火墙windows defender. 8.转移pagefile.sys到D盘. 9.关闭休眠功能. 10.开启内置管理员批准模式. 11.任务栏时间添加星期显

kvm 镜像制作与 ova镜像转换

一.kvm通过iso 安装镜像 1.生成空的img文件 qemu-img create -f qcow2 /opt/data/rock-feibiao/slse11-sp4/SLES-11-SP4-DVD-x86_64-GM-DVD1.img -opreallocation=metadata 20G 2.参考xml文件: 更改 name  iso位置  img位置 默认cpu mode 使用 ide 硬盘,后面可再安装virtio驱动 # more /opt/data/rock-feibiao/

Docker之三----java业务镜像制作

一.制作tomcat镜像: 基本架构图: 1.制作JDK镜像 基于官方提供的centos7.2.1511基础镜像构建JDK和tomcat镜像,先构建JDK镜像,然后再基于JDK镜像构建tomcat镜像. JDK下载路径:https://www.oracle.com/technetwork/java/javase/downloads/index.html 选择架构版本: (1)先下载基础centos镜像 [[email protected] ~]# docker pull centos (2)搭建

华为G520-T10移动版刷机包 基于官方 最新优化 精简 省电

ROM介绍 基于官方最新升级包T10制作 精简系统中的大部分无用程序减小内存占用 更新Busybox和su二进制文件 精简掉CUST中无用文件 进一步优化系统内存占用 开启通话录音功能 对底层进行优化 优化网络参数 加入省电技术 开启主题管理器在线主题库 Rom下载地址:http://www.shuajizhijia.com/huawei/g520yd/8779/ 更多华为G520-T10刷机包下载:http://www.shuajizhijia.com/huawei/g520yd/

Docker 之 基于容器的镜像制作

1  概述 镜像包含启动容器所需的文件系统和内容,可以理解为打包的文件,用于创建并启动docker容器. 镜像的生成途径有三个: 1.基于dockerfile实现,镜像制作的程序文件 2.基于容器实现,启动容器后,将新的操作制作为新镜像 3.docker hub automated builds 镜像文件采用分层构建机制,最底层为bootfs,上面为rootfs,rootfs上还可以有多层.位于最下层的镜像文件为父镜像(parent image),最底层为基础镜像(base image,root

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

本文来自网易云社区 作者:孙婷婷 背景 我所在测试项目组目前的测试环境只有一套,在项目版本迭代过程中,开发或产品偶尔会在测试环境进行数据校验,QA人数在不断增加,各个人员在负责不同模块工作时也会产生脏数据,导致QA在功能测试和接口测试过程中需要清理测试环境增加工作量,同时QA组在进行异常测试等多维度质量保障时也希望有多套环境进行数据隔离.但目前测试环境多套隔离操作麻烦,每隔离一套环境需要修改大量配置.数据库重新建表到调试可用,在开发的帮助下至少需要3天的时间,在这种场景下,我们借鉴组内大数据QA

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

一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建并启动容器.并且Docker镜像是采用分层构建,联合挂载的机制实现的.那什么是分层构建,联合挂载呢?如图: 在分层构建机制中,最底层为bootfs,用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节省内存资源.在bootfs之上的是rootfs,这里就是doc

6.docker手动制作镜像(基于C6)

1.制作一个基于centOS6版的Nginx镜像(单服务) 11.启动并进入容器 [[email protected] ]# docker run -it -p 80:80 centos:6.9 /bin/bash [[email protected] /]# 1.2更改容器系统的yum源和epel源 [[email protected] /]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Ce

docker基础——关于安装、常用指令以及镜像制作初体验

为什么使用docker docker就是一个轻量级的虚拟机,他解决的是服务迁移部署的时候环境配置问题.比如常见的web服务依赖于jdk.Tomcat.数据库等工具,迁移项目就需要在新的机器重新配置这些,不光麻烦,而且可能配错. 如果能够将整个服务连同他依赖的外部环境一同打包就好了,docker就是这么干的.他将配置好的软件打包成image,在新的机器里面启动这个image即可 当然我所理解的只是一小部分,docker还有提供弹性云服务.组建微服务架构等方面的应用 最后,相对于传统虚拟机,dock