【问题标题】:docker-compose: seeing all the services together from command linedocker-compose:从命令行一起查看所有服务
【发布时间】:2019-03-16 21:20:53
【问题描述】:

我有以下 yml 文件,服务创建正确,但安装 wordpress 时无法登录 mysql,我需要了解原因。

我对 docker 完全陌生,我需要从命令行 (bash) 一起查看所有服务,现在我正在运行类似

的命令

$ sudo docker exec -ti 4295b34c014a /bin/bash

但我获得了特定服务的登录名,如何从 cli 中同时查看 wordpress 和 mysql?

yml 文件(来自here):

version: '3.1'
services:
    adminer:
        image: adminer
        ports:
            - '8080:8080'
    db:
        image: mysql
        volumes:
            - 'wptut:/var/lib/mysql'
        environment:
            MYSQL_ROOT_PASSWORD: mysqlpassword
    wordpress:
        image: wordpress
        ports:
            - '81:80'
volumes:
    wptut: null

【问题讨论】:

    标签: mysql wordpress docker


    【解决方案1】:

    每个服务都在单独的容器中运行。如果你想访问日志,docker-compose up 应该默认从所有三个流式传输日志。如果您脱离docker-compose up 会话,我认为docker-compose logs -f 还应该结合所有服务的日志输出。 docker-compose exec 附加到正在运行的容器,您一次只能对一个容器执行此操作。至少您可以运行 docker-compose exec wordpress 或其他服务名称,以方便您使用上面的直接 docker 命令。 docker-compose logs -f wordpress 也适用于一次性。

    【讨论】:

      【解决方案2】:

      我不确定您将它们一起查看是什么意思,但为了检查它们是否正在运行,您可以使用docker ps,如果您想查看docker-compose up -d 之后的日志,请使用docker-compose logs -f。您还应该确保在 WordPress 中正确引用了 MySQL 数据库。对于主机名,您应该使用db 而不是localhost

      【讨论】:

      • 错误是指主机为 localhost,db 是正确的主机,谢谢!
      • 但是,同时查看所有服务意味着同时查看服务安装的文件和正在运行的进程
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2017-12-17
      • 1970-01-01
      相关资源
      最近更新 更多