【问题标题】:Docker compose getting stuckDocker compose 卡住了
【发布时间】:2017-10-07 04:19:39
【问题描述】:

我对 Docker 很陌生,我正在尝试使用 docker-compose 来将 Apache 与 PostgreSQL 一起设置。

这是我的docker-compose.yml

版本:'2' 服务: D b: 图片:postgres 阿帕奇2: 图片:webdevops/apache:最新 端口: - 8084:80 - 443:443 链接: - D b

而且每次我执行docker-compose up,它通常都会卡在

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

这是我执行它时的输出。

在安装 postgres 时首先卡住了一些 LOG: autovacuum launcher started,当我 Ctrl+C 并重新执行 docker-compose 时,它​​卡在了 apache2 -D FOREGROUND -D APACHE_LOCK_DIR 行中。

这是输出

 docker-compose up
拉数据库(postgres:最新)...
最新:从库/postgres 中提取
cd0a524342ef:拉取完成
9c784d04dcb0:拉取完成
d99dddf7e662:拉取完成
e5bff71e3ce6:拉取完成
cb3e0a865488:拉取完成
31295d654cd5:拉取完成
fc930a4e09f5:拉取完成
8650cce8ef01:拉取完成
61949acd8e52:拉取完成
527a203588c0:拉取完成
26dec14ac775:拉取完成
0efc0ed5a9e5:拉取完成
40cd26695b38:拉取完成
摘要:sha256:fd6c0e2a9d053bebb294bb13765b3e01be7817bf77b01d58c2377ff27a4a46dc
状态:为 postgres 下载更新的图像:最新
拉 apache2 (webdevops/apache:latest)...
最新:从 webdevops/apache 中提取
aafe6b5e13de:拉取完成
0a2b43a72660:拉取完成
18bdd1e546d2:拉取完成
8198342c3e05:拉取完成
f56970a44fd4:拉取完成
7d255d8cc29c:拉动完成
6b76599eeb74:拉取完成
ac6a5bdae794:拉取完成
bfe65de9caf3:拉取完成
45f407574293:拉取完成
5f28b0c8228a:拉取完成
ceb4b3de72bc:拉取完成
摘要:sha256:acf3049ddc1cf7f615eb4751250881d31dccfc50752ac3a1261169b684f430cb
状态:为 webdevops/apache 下载更新的图像:最新
创建 dockertest7_db_1
创建 dockertest7_apache2_1
附加到 dockertest7_db_1、dockertest7_apache2_1
apache2_1 | 2017-05-09 01:36:54,332 CRIT 将 uid 设置为用户 0
apache2_1 | 2017-05-09 01:36:54,332 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/apache.conf”
apache2_1 | 2017-05-09 01:36:54,332 WARN 在解析过程中包含额外文件“/opt/docker/etc/supervisor.d/cron.conf”
apache2_1 | 2017-05-09 01:36:54,332 WARN 在解析过程中包含额外文件“/opt/docker/etc/supervisor.d/dnsmasq.conf”
apache2_1 | 2017-05-09 01:36:54,332 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/postfix.conf”
apache2_1 | 2017-05-09 01:36:54,332 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/ssh.conf”
apache2_1 | 2017-05-09 01:36:54,332 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/syslog.conf”
apache2_1 | 2017-05-09 01:36:54,340 INFO RPC 接口“主管”已初始化
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 |默认文本搜索配置将设置为“英语”。
db_1 |
db_1 |数据页校验和被禁用。
db_1 |
db_1 |修复现有目录 /var/lib/postgresql/data 的权限 ...好的
db_1 |创建子目录...好的
db_1 |选择默认的 max_connections ... 100
db_1 |选择默认 shared_buffers ... 128MB
db_1 |选择动态共享内存实现... posix
db_1 |创建配置文件...好的
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 | [2017 年 5 月 9 日星期二 01:36:55.414084] [mpm_event:notice] [pid 17:tid 140039054796672] AH00489: Apache/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 |警告:为本地连接启用“信任”身份验证
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 日志文件启动
db_1 |
db_1 | ****************************************************** **
db_1 |警告:没有为数据库设置密码。
db_1 |这将允许任何有权访问
db_1 | Postgres 端口来访问您的数据库。在
db_1 | Docker的默认配置,这个是
db_1 |有效地在同一容器上的任何其他容器
db_1 |系统。
db_1 |
db_1 |使用“-e POSTGRES_PASSWORD=password”设置
db_1 |它在“码头运行”中。
db_1 | ****************************************************** **
db_1 |等待服务器启动....LOG:数据库系统在 2017-05-09 01:36:56 UTC 关闭
db_1 |日志:Mu​​ltiXact 成员环绕保护现已启用
db_1 | LOG:数据库系统已准备好接受连接
db_1 | LOG:autovacuum 启动器已启动
db_1 |完毕
db_1 |服务器启动
db_1 |改变角色
db_1 |
db_1 |
db_1 | /usr/local/bin/docker-entrypoint.sh:忽略 /docker-entrypoint-initdb.d/*
db_1 |
db_1 | LOG:收到快速关机请求
db_1 | LOG:中止任何活动事务
db_1 |等待服务器关闭...LOG:autovacuum 启动器正在关闭
db_1 | .LOG:正在关闭
db_1 | LOG:数据库系统已关闭
db_1 |完毕
db_1 |服务器停止
db_1 |
db_1 | PostgreSQL 初始化过程完成;准备启动。
db_1 |
db_1 | LOG:数据库系统于 2017-05-09 01:36:58 UTC 关闭
db_1 |日志:Mu​​ltiXact 成员环绕保护现已启用
db_1 | LOG:数据库系统已准备好接受连接
db_1 | LOG:autovacuum 启动器已启动

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

码头工人组成 启动 dockertest7_db_1 启动 dockertest7_apache2_1 附加到 dockertest7_db_1、dockertest7_apache2_1 db_1 | LOG:数据库系统被中断;最后一次知道在 2017-05-09 01:37:00 UTC db_1 | LOG:数据库系统未正确关闭;自动恢复进行中 db_1 |日志:0/14EE238 处的记录长度无效:想要 24,得到 0 db_1 | LOG:不需要重做 db_1 |日志:Mu​​ltiXact 成员环绕保护现已启用 db_1 | LOG:数据库系统已准备好接受连接 db_1 | LOG:autovacuum 启动器已启动 apache2_1 | 2017-05-09 01:41:17,903 CRIT 将 uid 设置为用户 0 apache2_1 | 2017-05-09 01:41:17,903 WARN 在解析过程中包含额外文件“/opt/docker/etc/supervisor.d/apache.conf” apache2_1 | 2017-05-09 01:41:17,903 WARN 在解析过程中包含额外文件“/opt/docker/etc/supervisor.d/cron.conf” apache2_1 | 2017-05-09 01:41:17,903 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/dnsmasq.conf” apache2_1 | 2017-05-09 01:41:17,903 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/postfix.conf” apache2_1 | 2017-05-09 01:41:17,903 WARN 在解析过程中包含额外文件“/opt/docker/etc/supervisor.d/ssh.conf” apache2_1 | 2017-05-09 01:41:17,903 WARN 解析期间包含额外文件“/opt/docker/etc/supervisor.d/syslog.conf” apache2_1 |取消链接过时的套接字 /.supervisor.sock apache2_1 | 2017-05-09 01:41:18,226 INFO RPC 接口“主管”已初始化 apache2_1 | 2017-05-09 01:41:18,226 INFO supervisord 从 pid 1 开始 apache2_1 | 2017-05-09 01:41:19,230 信息产生:'apached' 与 pid 17 apache2_1 | 2017-05-09 01:41:19,307 INFO 成功:apached 进入 RUNNING 状态,进程保持超过 0 秒(startsecs) apache2_1 | [Tue May 09 01:41:19.316042 2017] [mpm_event:notice] [pid 17:tid 139733962508160] AH00489: Apache/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'

我错过了什么吗?也许是基本的东西、配置或其他东西?

【问题讨论】:

    标签: apache postgresql docker docker-compose


    【解决方案1】:

    这个安装有几件事。

    一个显然是 postgres 没有正确启动,现在处于不稳定状态。关注article 展示了如何解决这个问题。

    对于其余部分,我无法判断您是否遇到了与 systemd 的一些不兼容问题,或者这是由于数据库安装停滞,然后组合没有正确启动依赖项 (apache) 造成的。

    无论哪种方式,我都会删除所有图像、所有临时文件,然后尝试重建并重新启动。

    【讨论】:

    • 还要确保您运行的是最新版本的 Docker。 docker version 的输出是什么?最新版本的 Docker 也支持 Compose v3 文件格式:docs.docker.com/compose/compose-file
    猜你喜欢
    • 2021-11-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    • 2021-10-08
    • 2016-11-24
    • 1970-01-01
    相关资源
    最近更新 更多