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