Docker wordpress / mysql失败,并显示“连接被拒绝”。 [英] Docker wordpress/mysql fails with "connection refused"

查看:380
本文介绍了Docker wordpress / mysql失败,并显示“连接被拒绝”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试设置环境来构建wordpress网站,但docker-compose失败,并重新建立了连接。

I am trying to setup my environment to build a wordpress site but docker-compose fails with connection refuded.

我发送了2天多的时间试图弄清楚,但浏览网页却徒然。我尝试了栈溢出可用的解决方案,但仍然徒劳。

I sent more than 2 days trying to figure out, browsing the web but in vain. I tried solutions available on stack overflow, still in vain.

这是我的docker-compose

This is my my docker-compose

version: '3.7'
services:
  wordpress:
    depends_on:
      - db
    image: wordpress
    container_name: wp-web
    ports:
      - 7000:80
    restart: unless-stopped
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: banana
      WORDPRESS_DB_PASSWORD: banana
      WORDPRESS_DB_NAME: banana
    working_dir: /var/www/html
    volumes:
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  db:
    image: mysql:5.7
    container_name: db_server
    command: --default-authentication-plugin=mysql_native_password
    volumes:
      - ./db_data:/home/abelmbula/Documents/dockerapp/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: banana
      MYSQL_DATABASE: banana
      MYSQL_USER: banana
      MYSQL_PASSWORD: banana
    ports:
     - 8889:3306
volumes:
 db_data:

我把这个放出来

Starting db_server ... done
Recreating wp-web  ... done
Attaching to db_server, wp-web
db_server    | Initializing database
db_server    | 2019-06-14T13:32:53.477264Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_server    | 2019-06-14T13:32:53.479113Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
db_server    | 2019-06-14T13:32:53.479146Z 0 [ERROR] Aborting
db_server    | 
wp-web       | [14-Jun-2019 13:33:03 UTC] PHP Warning:  mysqli::__construct(): (HY000/2002): Connection refused in Standard input code on line 22
wp-web       | 
wp-web       | MySQL Connection Error: (2002) Connection refused
db_server exited with code 1

我的文件有问题吗?

推荐答案

这是一个最小的示例:

version: '3.7'
services:
  wordpress:
    depends_on:
    - mysql
    image: wordpress
    container_name: wordpress
    hostname: wordpress
    domainname: example.com
    ports:
    - 8080:80
    restart: unless-stopped
    environment:
      WORDPRESS_DB_HOST: mysql:3306
      WORDPRESS_DB_USER: banana
      WORDPRESS_DB_PASSWORD: banana
      WORDPRESS_DB_NAME: banana
    working_dir: /var/www/html
    volumes:
    - wp_content:/var/www/html/wp-content
    - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  mysql:
    image: mysql:5.7
    container_name: mysql
    hostname: mysql
    domainname: example.com
    command: --default-authentication-plugin=mysql_native_password
    volumes:
    - db_data:/var/lib/mysql
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: banana
      MYSQL_DATABASE: banana
      MYSQL_USER: banana
      MYSQL_PASSWORD: banana
    expose:
    - 3306
volumes:
  db_data:
  wp_content:

本示例使用<$ c $在中定义的c> db_data 卷以存储数据库文件(默认情况下为 docker 卷存在于主机操作系统上的 / var / lib / docker / volumes 中),它添加了一个名为 docker卷对于 wordpress 内容,它不会将数据库端口发布到主机,而是将其公开到 docker 网络内部,因此 wordpress 服务可以访问它并设置示例 hostname domain服务的名称

This example uses the db_data volume defined in the volumes to store the database files (by default docker volumes exist in /var/lib/docker/volumes on the host operating system), it adds a named docker volume for the wordpress content, it does not publish the database port to the host rather it exposes it inside the docker network so that the wordpress service can access it and it sets example hostname and domainname entries for the services.

这篇关于Docker wordpress / mysql失败,并显示“连接被拒绝”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆