Docker组成卡住了

我对Docker相当陌生,我试图使用docker-compose来将PostgreSQL一起设置为Apache。

这是我docker-compose.yml

版本:'2'
服务:

     D b:
       image:postgres

     apache2的:
         image:webdevops / apache:latest
        端口:
             -  8084:80
             -  443:443
        链接:
             - D b

每次我执行docker-compose up ,通常都会被卡住

 AH00094: Command line: 'apache2 -D FOREGROUND -D APACHE_LOCK_DIR' 

这是执行它时的输出。

首先遇到一些LOG: autovacuum launcher started安装postgres LOG: autovacuum launcher started ,当我Ctrl + C,并重新执行docker组成,它卡在apache2 -D FOREGROUND -D APACHE_LOCK_DIR行。

这是输出

 docker工人组成
拉数据库(postgres:最新)...
最新:从图书馆/ postgres拉
 cd0a524342ef:拉完成
 9c784d04dcb0:拉完成
 d99dddf7e662:拉完成
 e5bff71e3ce6:拉完成
 cb3e0a865488:拉完成
 31295d654cd5:拉完成
 fc930a4e09f5:拉完成
 8650cce8ef01:拉完成
 61949acd8e52:拉完成
 527a203588c0:拉完成
 26dec14ac775:拉完成
 0efc0ed5a9e5:拉完成
 40cd26695b38:拉完成
文摘:sha256:fd6c0e2a9d053bebb294bb13765b3e01be7817bf77b01d58c2377ff27a4a46dc
状态:下载更新的图片为postgres:最新
拉apache2(webdevops / apache:最新)...
最新的:从webdevops / apache拉
 aafe6b5e13de:拉完成
 0a2b43a72660:拉完成
 18bdd1e546d2:拉完成
 8198342c3e05:拉完成
 f56970a44fd4:拉完成
 7d255d8cc29c:拉完成
 6b76599eeb74:拉完成
 ac6a5bdae794:拉完成
 bfe65de9caf3:拉完成
 45f407574293:拉完成
 5f28b0c8228a:拉完成
 ceb4b3de72bc:拉完成
文摘:sha256:acf3049ddc1cf7f615eb4751250881d31dccfc50752ac3a1261169b684f430cb
状态:下载webdevops / apache的最新映像:latest
创builddockertest7_db_1
创builddockertest7_apache2_1
附加到dockertest7_db_1,dockertest7_apache2_1
 apache2_1 |  2017-05-09 01:36:54,332 CRIT将uid设置为user 0
 apache2_1 |  2017-05-09 01:36:54,332 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/apache.conf”
 apache2_1 |  2017-05-09 01:36:54,332 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/cron.conf”
 apache2_1 |  2017-05-09 01:36:54,332 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/dnsmasq.conf”
 apache2_1 |  2017-05-09 01:36:54,332 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/postfix.conf”
 apache2_1 |  2017-05-09 01:36:54,332 WARN在parsing时包含额外的文件“/opt/docker/etc/supervisor.d/ssh.conf”
 apache2_1 |  2017-05-09 01:36:54,332 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/syslog.conf”
 apache2_1 |  2017-05-09 01:36:54,340 INFO RPC接口“主pipe”初始化
 apache2_1 |  2017-05-09 01:36:54,340 INFO supervisord以pid 1开头
 db_1 | 属于这个数据库系统的文件将由用户“postgres”拥有。
 db_1 | 该用户还必须拥有服务器进程。
 db_1 | 
 db_1 | 数据库集群将使用语言环境“en_US.utf8”进行初始化。
 db_1 | 默认的数据库编码相应地被设置为“UTF8”。
 db_1 | 默认的文本searchconfiguration将被设置为“英文”。
 db_1 | 
 db_1 | 数据页校验和被禁用。
 db_1 | 
 db_1 | 修复现有目录/ var / lib / postgresql / data ...的权限
 db_1 | 创build子目录...好的
 db_1 | select默认的max_connections ... 100
 db_1 | select默认的shared_buffers ... 128MB
 db_1 | selectdynamic共享内存实现... posix
 db_1 | 创buildconfiguration文件...好的
 apache2_1 |  2017-05-09 01:36:55,345信息产生:与pid 17“apached”
 apache2_1 |  2017-05-09 01:36:55,404 INFO成功:apached进入RUNNING状态,进程已经超过了0秒(startsecs)
 apache2_1 |  [2009年5月1日星期二01:36:55.414084 2017] [mpm_event:notice] [pid 17:tid 140039054796672] AH00489:configurationApache / 2.4.18(Ubuntu)OpenSSL / 1.0.2g  - 恢复正常操作
 apache2_1 |  [Tue May 09 01:36:55.414134 2017] [core:notice] [pid 17:tid 140039054796672] AH00094:命令行:'apache2 -D FOREGROUND -D APACHE_LOCK_DIR'
 db_1 | 运行引导脚本...好吧
 db_1 | 执行后自举初始化...好吧
 db_1 | 将数据同步到磁盘... 
 db_1 | 警告:启用本地连接的“信任”身份validation
 db_1 | 你可以通过编辑pg_hba.conf或者使用选项-A或者来改变它
 db_1 |  --auth-local和--auth-host,下一次运行initdb。
 db_1 | 好
 db_1 | 
 db_1 | 成功。 现在可以使用以下命令启动数据库服务器
 db_1 | 
 db_1 |  pg_ctl -D / var / lib / postgresql / data -l logfile start
 db_1 | 
 db_1 |  ************************************************** **
 db_1 | 警告:没有为数据库设置密码。
 db_1 | 这将允许任何人访问的
 db_1 |  Postgres端口来访问你的数据库。 在
 db_1 | 泊坞窗的默认configuration,这是
 db_1 | 有效的任何其他容器在同一个
 db_1 | 系统。
 db_1 | 
 db_1 | 使用“-e POSTGRES_PASSWORD =密码”进行设置
 db_1 | 它在“docker运行”。
 db_1 |  ************************************************** **
 db_1 | 等待服务器启动....日志:数据库系统已closures在2017-05-09 01:36:56 UTC
 db_1 | 日志:现在启用MultiXact成员环绕保护
 db_1 | 日志:数据库系统已准备好接受连接
 db_1 | 日志:自动清理启动器
 db_1 |  DONE
 db_1 | 服务器启动
 db_1 | 改变angular色
 db_1 | 
 db_1 | 
 db_1 |  /usr/local/bin/docker-entrypoint.sh:忽略/docker-entrypoint-initdb.d/*
 db_1 | 
 db_1 | 日志:收到快速关机请求
 db_1 | 日志:中止任何活动的事务
 db_1 | 等待服务器closures...日志:自动清理发射器closures
 db_1 |  .LOG:关机
 db_1 | 日志:数据库系统被closures
 db_1 |  DONE
 db_1 | 服务器停止
 db_1 | 
 db_1 |  PostgreSQL init进程完成; 准备启动。
 db_1 | 
 db_1 | 日志:数据库系统在2017-05-09 01:36:58 UTCclosures
 db_1 | 日志:现在启用MultiXact成员环绕保护
 db_1 | 日志:数据库系统已准备好接受连接
 db_1 | 日志:自动清理启动器

在这里,我取消它,导致它卡住了,再次执行docker-compose

docker工人组成
启动dockertest7_db_1
启动dockertest7_apache2_1
附加到dockertest7_db_1,dockertest7_apache2_1
 db_1 | 日志:数据库系统中断; 最后在2017-05-09 01:37:00 UTC
 db_1 | 日志:数据库系统没有正确closures; 自动恢复正在进行中
 db_1 | 日志:无效的logging长度在0 / 14EE238:想要24,得到0
 db_1 | 日志:重做不是必需的
 db_1 | 日志:现在启用MultiXact成员环绕保护
 db_1 | 日志:数据库系统已准备好接受连接
 db_1 | 日志:自动清理启动器
 apache2_1 |  2017-05-09 01:41:17,903 CRIT将uid设置为user 0
 apache2_1 |  2017-05-09 01:41:17,903 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/apache.conf”
 apache2_1 |  2017-05-09 01:41:17,903 WARN在parsing过程中包含额外文件“/opt/docker/etc/supervisor.d/cron.conf”
 apache2_1 |  2017-05-09 01:41:17,903 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/dnsmasq.conf”
 apache2_1 |  2017-05-09 01:41:17,903 WARN在parsing过程中包含额外的文件“/opt/docker/etc/supervisor.d/postfix.conf”
 apache2_1 |  2017-05-09 01:41:17,903 WARN在parsing过程中包含额外文件“/opt/docker/etc/supervisor.d/ssh.conf”
 apache2_1 |  2017-05-09 01:41:17,903 WARN在parsing过程中包含额外文件“/opt/docker/etc/supervisor.d/syslog.conf”
 apache2_1 | 取消链接旧套接字/.supervisor.sock
 apache2_1 |  2017-05-09 01:41:18,226信息RPC接口“主pipe”初始化
 apache2_1 |  2017-05-09 01:41:18,226信息supervisord以pid 1开头
 apache2_1 |  2017-05-09 01:41:19,230信息产生:与pid 17“apached”
 apache2_1 |  2017-05-09 01:41:19,307 INFO成功:apached进入RUNNING状态,进程已经停顿了> 0秒(startsecs)
 apache2_1 |  [2009年5月1日星期二01:41:19.316042 2017] [mpm_event:notice] [pid 17:tid 139733962508160] AH00489:configurationApache / 2.4.18(Ubuntu)OpenSSL / 1.0.2g  - 恢复正常操作
 apache2_1 |  [tue May 09 01:41:19.316085 2017] [core:notice] [pid 17:tid 139733962508160] AH00094:命令行:'apache2 -D FOREGROUND -D APACHE_LOCK_DIR'

我错过了什么吗? 也许一个基本的东西,configuration什么的?

这个安装有几件事情。

其中一个显然是postgres没有正常启动,现在处于不稳定状态。 以下文章显示如何解决这个问题。

其余的,我不能告诉你是否与systemd有一些不兼容问题,或者是数据库安装失败的后果,然后编写不正确启动依赖项(apache)。

无论哪种方式,我会删除所有图像,所有临时文件,并尝试重build和重新启动。