我是docker的初学者,由于容器重新启动问题,我被卡在原地。当我尝试重新启动一个现有的已退出的容器,或创建新的容器(删除旧的容器后)运行时,问题发生:
docker run -d --name mempostgres \
-v "/home/lukasz/lc_pg_data:/var/lib/pgsql/data:Z" \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=password \
-e POSTGRES_DB=dbName \
-p 5432:5432 \
fedora/postgresql
我的容器总是立即退出,状态为“Exited(1)”
在我的集装箱日志我有:
然而,我没有任何PostgreSQL服务器运行在这一刻。
2条答案
按热度按时间nukf8bse1#
您需要终止该
postmaster
进程。cat .../postmaster.pid
此文件的第一个数字是
postmaster
进程的PID。然后,使用以下命令终止该进程:
kill PID
最后,运行一个容器,您的问题应该得到修复。
njthzxwz2#
Postgres
应包含如下密码环境变量:-e POSTGRES_PASSWORD=postgres
另外,
pgadmin
应具有两个环境变量(email
和passworld
),如下所示:-e 'PGADMIN_DEFAULT_EMAIL=address@email.something' -e 'PGADMIN_DEFAULT_PASSWORD=postgresmaster'
这是设置初始管理员帐户以登录到pgAdmin时使用的电子邮件地址。此变量是必需的,必须在启动时设置。
如果未提供这些详细信息,则
postgres
和pgadmin
将进入exited
状态。