2016-05-16 87 views
5

当Docker-compose开始时,Postgres立即关闭。使用的YAML文件低于当Docker-compose开始时,Postgres立即关闭

version: '2' 

services: 
    postgres: 
     image: postgres:9.5 
     container_name: local-postgres9.5 
     ports: 
      - "5432:5432" 

当执行搬运工人,谱写了命令

Creating local-postgres9.5 
Attaching to local-postgres9.5 
local-postgres9.5 | The files belonging to this database system will be owned by user "postgres". 
local-postgres9.5 | This user must also own the server process. 
local-postgres9.5 | 
local-postgres9.5 | The database cluster will be initialized with locale "en_US.utf8". 
local-postgres9.5 | The default database encoding has accordingly been set to "UTF8". 
local-postgres9.5 | The default text search configuration will be set to "english". 
local-postgres9.5 | 
local-postgres9.5 | Data page checksums are disabled. 
local-postgres9.5 | 
local-postgres9.5 | fixing permissions on existing directory /var/lib/postgresql/data ... ok 
local-postgres9.5 | creating subdirectories ... ok 
local-postgres9.5 | selecting default max_connections ... 100 
local-postgres9.5 | selecting default shared_buffers ... 128MB 
local-postgres9.5 | selecting dynamic shared memory implementation ... posix 
local-postgres9.5 | creating configuration files ... ok 
local-postgres9.5 | creating template1 database in /var/lib/postgresql/data/base/1 ... ok 
local-postgres9.5 | initializing pg_authid ... ok 
local-postgres9.5 | initializing dependencies ... ok 
local-postgres9.5 | creating system views ... ok 
local-postgres9.5 | loading system objects' descriptions ... ok 
local-postgres9.5 | creating collations ... ok 
local-postgres9.5 | creating conversions ... ok 
local-postgres9.5 | creating dictionaries ... ok 
local-postgres9.5 | setting privileges on built-in objects ... ok 
local-postgres9.5 | creating information schema ... ok 
local-postgres9.5 | loading PL/pgSQL server-side language ... ok 
local-postgres9.5 | vacuuming database template1 ... ok 
local-postgres9.5 | copying template1 to template0 ... ok 
local-postgres9.5 | copying template1 to postgres ... ok 
local-postgres9.5 | syncing data to disk ... ok 
local-postgres9.5 | 
local-postgres9.5 | WARNING: enabling "trust" authentication for local connections 
local-postgres9.5 | You can change this by editing pg_hba.conf or using the option -A, or 
local-postgres9.5 | --auth-local and --auth-host, the next time you run initdb. 
local-postgres9.5 | 
local-postgres9.5 | Success. You can now start the database server using: 
local-postgres9.5 | 
local-postgres9.5 |  pg_ctl -D /var/lib/postgresql/data -l logfile start 
local-postgres9.5 | 
local-postgres9.5 | **************************************************** 
local-postgres9.5 | WARNING: No password has been set for the database. 
local-postgres9.5 |   This will allow anyone with access to the 
local-postgres9.5 |   Postgres port to access your database. In 
local-postgres9.5 |   Docker's default configuration, this is 
local-postgres9.5 |   effectively any other container on the same 
local-postgres9.5 |   system. 
local-postgres9.5 | 
local-postgres9.5 |   Use "-e POSTGRES_PASSWORD=password" to set 
local-postgres9.5 |   it in "docker run". 
local-postgres9.5 | **************************************************** 
local-postgres9.5 | waiting for server to start....LOG: database system was shut down at 2016-05-16 16:51:54 UTC 
local-postgres9.5 | LOG: MultiXact member wraparound protections are now enabled 
local-postgres9.5 | LOG: database system is ready to accept connections 
local-postgres9.5 | LOG: autovacuum launcher started 
local-postgres9.5 | done 
local-postgres9.5 | server started 
local-postgres9.5 | ALTER ROLE 
local-postgres9.5 | 
local-postgres9.5 | 
local-postgres9.5 | /docker-entrypoint.sh: ignoring /docker-entrypoint-initdb.d/* 
local-postgres9.5 | 
local-postgres9.5 | LOG: received fast shutdown request 
local-postgres9.5 | LOG: aborting any active transactions 
local-postgres9.5 | LOG: autovacuum launcher shutting down 
local-postgres9.5 | LOG: shutting down 
local-postgres9.5 | waiting for server to shut down....LOG: database system is shut down 
local-postgres9.5 | done 
local-postgres9.5 | server stopped 
local-postgres9.5 | 
local-postgres9.5 | PostgreSQL init process complete; ready for start up. 
local-postgres9.5 | 
local-postgres9.5 | LOG: database system was shut down at 2016-05-16 16:51:55 UTC 
local-postgres9.5 | LOG: MultiXact member wraparound protections are now enabled 
local-postgres9.5 | LOG: database system is ready to accept connections 
local-postgres9.5 | LOG: autovacuum launcher started 

的Postgres似乎做工精细当容器使用相同的图像与码头工人开始运行日志

docker run --name local-postgres9.5 -p 5432:5432 postgres:9.5 
+1

如果你的问题解决了,然后与我们分享! – shuboy2014

回答

1

我想你的码头工人,撰写和服务似乎在容器中运行:

[email protected]:/# ps aux 
USER  PID %CPU %MEM VSZ RSS TTY  STAT START TIME COMMAND 
postgres  1 0.5 0.8 227148 16128 ?  Ss 14:42 0:00 postgres 
postgres 74 0.0 0.0 227148 1768 ?  Ss 14:42 0:00 postgres: checkpointer process 
postgres 75 0.0 0.0 227148 1772 ?  Ss 14:42 0:00 postgres: writer process 
postgres 76 0.0 0.0 227148 1768 ?  Ss 14:42 0:00 postgres: wal writer process 
postgres 77 0.0 0.1 227576 2720 ?  Ss 14:42 0:00 postgres: autovacuum launcher process 
postgres 78 0.0 0.0 82132 1888 ?  Ss 14:42 0:00 postgres: stats collector process 
root  79 2.0 0.0 21820 1984 ?  Ss 14:42 0:00 /bin/bash 
root  84 0.0 0.0 19092 1296 ?  R+ 14:42 0:00 ps aux 

无论如何,对于我的项目,我使用postgresql的另一个图像:https://github.com/sameersbn/docker-postgresql。这个工作正常。

+1

谢谢。你是对的postgres实际上是在运行。我认为,因为docker-compose没有移过postgres容器,所以这是一个问题。当我使用选项-d时,一切似乎都很好。 – arjunurs

3

如果你看看你的日志输出,下面的线出现接近尾声:

local-postgres9.5 | server stopped 
local-postgres9.5 | 
local-postgres9.5 | PostgreSQL init process complete; ready for start up. 

显然,停止和重新启动Postgres的服务器初始化过程的一部分。事实上,倒数第二行说

local-postgres9.5 | LOG: database system is ready to accept connections.