docker-compose:从命令行一起查看所有服务

时间:2018-10-11 17:41:16

标签: mysql wordpress docker

我有以下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

2 个答案:

答案 0 :(得分:1)

每个服务都在单独的容器中运行。如果要访问日志,则默认情况下,docker-compose up应该流送来自所有三个日志的日志。如果您从docker-compose up会话中分离出来,我认为docker-compose logs -f也应该合并所有服务的日志输出。 docker-compose exec附加到正在运行的容器,您一次只能将其附加到一个容器。为了方便起见,您至少可以运行docker-compose exec wordpress或其他服务名称,以代替上面的直接docker命令。 docker-compose logs -f wordpress也可以一次性使用。

答案 1 :(得分:1)

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