首页 > 解决方案 > 连接到数据库的 Docker 错误 - 对许多其他网站使用 nginx、mysql 和虚拟主机

问题描述

我是 Docker 新手。我已经超越了另一个人的业务,我需要用一个新的交换正在运行的网站内容。正在运行的内容是一个typo3 网站,新的网站是基于Wordpress 的。服务器处理由 nginx 反向代理管理的具有不同 url 的许多不同网站。

我的问题:我无法连接到新数据库。我的撰写文件:

version: "2"

services:
#Database
   db:
     image: mysql
     volumes:
       - /srv/db/production/website/wordpress/current:/var/lib/mysql
     restart: always
     networks:
      - proxy-tier
      - post
     environment:
       MYSQL_ROOT_PASSWORD: password
       MYSQL_DATABASE: wordpress_website
       MYSQL_USER: wordpress_website
       MYSQL_PASSWORD: password

#Wordpress
   wordpress:
     depends_on:
       - db
     image: wordpress
     restart: always
     networks:
      - proxy-tier
      - post
     volumes:
       -  /srv/www/production/website/wordpress/current:/var/www/html
     environment:
      - VIRTUAL_HOST=website.com
      - VIRTUAL_NETWORK=nginx-proxy
      - VIRTUAL_PORT=80
      #- VIRTUAL_PORT=443
      - LETSENCRYPT_HOST=website.com
      - LETSENCRYPT_EMAIL=email@website.com
      - WORDPRESS_DB_USER=wordpress_website
      - WORDPRESS_DB_PASSWORD=password
      - WORDPRESS_DB_NAME=wordpress_website

networks:
  proxy-tier:
    external:
      name: nginxproxy_default
  post:
    external:
      name: mail_frontend

信息:

我究竟做错了什么?我真的需要帮助,因为我迷路了。

谢谢!

标签: mysqlwordpressdockernginx

解决方案


$ docker-compose down
$ docker ps -a ##check that the containers are not running

清理“db”的卷并重新开始

如果容器正常,您应该再次尝试连接到主机端口并从那里查看数据库。在容器“db”->

ports:
  - "3309:3306"
  - "portHOST:porContainer"

再见。


推荐阅读