首页 > 解决方案 > 尝试在 docker for windows 上安装 wordpress

问题描述

我正在使用 docker for windows,我刚刚安装了它,我有以下stack.yml文件,它返回一个错误,我将放在yml文件下面。我不明白是什么可能导致我运行命令的问题docker-compose -f stack.yml up确实让一切正常工作,有人可以帮忙。提前谢谢。

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'

错误

wordpress_1  | Complete! WordPress has been successfully copied to /var/www/html
wordpress_1  |
wordpress_1  | MySQL Connection Error: (2002) Connection refused
wordpress_1  |
wordpress_1  | Warning: mysqli::__construct(): (HY000/2002): Connection refused in Standard input code on line 22
wordpress_1  |
wordpress_1  | Warning: mysqli::__construct(): (HY000/2002): Connection refused in Standard input code on line 22
wordpress_1  |
wordpress_1  | MySQL Connection Error: (2002) Connection refused
wordpress_1  |
wordpress_1  | Warning: mysqli::__construct(): (HY000/2002): Connection refused in Standard input code on line 22

标签: phplinuxwordpressdocker

解决方案


该应用程序需要db事先运行。在 WordPress 容器之前添加depends_onWordPress 服务的值,这将确保 db is container 已启动。容器内的 MySQL 服务应该很快启动。

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    depends_on:
      - db
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'

推荐阅读