在Windows上运行Wordpress Docker食谱的空响应

时间:2018-08-09 15:41:11

标签: wordpress docker docker-for-windows

我正在尝试使用适用于Windows的Docker运行基本的wordpress应用。 我只是按照以下食谱操作:https://docs.docker.com/compose/wordpress/

这是我的docker-compose.yml

# docker-compose.yml
version: '3.3'

services:
    db:
        image: mysql:5.7
        volumes:
            - db_data:/var/lib/mysql
        restart: always
        environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_DATABASE: ${MYSQL_DB}
            MYSQL_USER: ${MYSQL_USER}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD}

    wordpress:
        depends_on:
            - db
        image: wordpress:latest
        ports:
            - "8080:80"
        restart: always
        environment:
            WORDPRESS_DB_HOST: db:${MYSQL_PORT}
            WORDPRESS_DB_USER: ${WORDPRESS_DB_USER}
            WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}

volumes:
    db_data:

还有.env文件:

# DATABASE
MYSQL_DB=wordpress
MYSQL_USER=wordpress
MYSQL_PASSWORD=wordpress
MYSQL_ROOT_PASSWORD=somewordpress
MYSQL_PORT=3306

#WORDPRESS
WORDPRESS_DB_USER=wordpress
WORDPRESS_DB_PASSWORD=wordpress

我运行docker-compose up -d时一切正常。 但是,当我尝试到达http://127.0.0.1:8080时,即使我等待了几个小时,也只是一次又一次地得到ERR_EMPTY_RESPONSE(文档说安装可能在后台花费了几分钟,但没有!)

如果我运行docker-compose up,我会看到mysql用户的循环错误访问被拒绝...我是否在创建mysql用户时错过了某些东西?

非常感谢!

1 个答案:

答案 0 :(得分:0)

好吧,我终于做到了。 这是两个问题的结合!

首先,我们必须将wordpress容器插入mysql根用户,除非它没有创建表等的权限。

wordpress:
    depends_on:
        - db
    image: wordpress:latest
    ports:
        - "8080:80"
    restart: always
    environment:
        WORDPRESS_DB_HOST: db:${MYSQL_PORT}
        WORDPRESS_DB_USER: root
        WORDPRESS_DB_PASSWORD: ${MYSQL_ROOT_PASSWORD}

第二,db_data是一个卷,因此Docker将其保留在某个位置。当我运行docker volume ls时,我只是认出了多次尝试中创建的数十个卷。

但是我真的认为主要问题是wordpress对数据库的访问,这阻碍了所有安装过程。