基于官方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:进入到容器
创建容器时的打印:
:/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
相关推荐
WanKaShing 2020-11-12
王道革 2020-11-25
魅惑青花瓷 2020-11-11
lihongtai 2020-11-09
TaoTaoFu 2020-11-06
liaochaowu 2020-11-16
ChlatZed 2020-11-11
xysoul 2020-11-03
changecan 2020-09-22
newisI 2020-09-01
链块学院 2020-09-09
lihy0 2020-09-07
fearlessxjdx 2020-09-04
ChlatZed 2020-08-23
bwyyziq 2020-11-22
pigsmall 2020-11-19
changecan 2020-11-19
helloWorldAndYou 2020-11-16
nginxs 2020-11-14