• 基于官方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:进入到容器

      创建容器时的打印:

    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 ... 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
  • 相关阅读:
    s
    qq
    qqq
    q
    qq
    http请求报文
    qq
    q
    qqq
    java对象-String的用法
  • 原文地址:https://www.cnblogs.com/xy-ouyang/p/12090702.html
Copyright © 2020-2023  润新知