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和重新启动。