试图摆脱使用Sail,并且想让我的应用程序不使用Sail.到目前为止,我无法让MySQL服务器开始运行.我已经try 在docker-compose中将env DB_HOST
更改为数据库的名称,当我执行docker compose up --build
时,服务器看起来正在运行,但是当我执行php artisan migrate:fresh --seed
之后,似乎什么都不起作用.如有任何帮助,我们将不胜感激!
我的 docker -组成:
version: "3.8"
services:
laravel-vue-app:
build: .
ports:
- "8080:8080"
depends_on:
- mysql
volumes:
- .:/var/www/html
- /var/www/html/node_modules
- /var/www/html/vendor
networks:
- app-network
mysql:
image: "mysql/mysql-server:8.0"
container_name: database
ports:
- "${FORWARD_DB_PORT:-3306}:3306"
environment:
MYSQL_ROOT_PASSWORD: "${DB_PASSWORD}"
MYSQL_DATABASE: "${DB_DATABASE}"
MYSQL_USER: "${DB_USERNAME}"
MYSQL_PASSWORD: "${DB_PASSWORD}"
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
volumes:
- mysql-data:/var/lib/mysql
networks:
- app-network
和我的ENV:
DB_CONNECTION=mysql
DB_HOST=database
DB_PORT=3306
在运行php artisan Migrate:resh--Seed时,我在新的终端中执行docker-compose up--Build后得到的错误
SQLSTATE[HY000] [2002] php_network_getaddresses:
getaddrinfo for database failed: nodename nor servname provided, or not known (Connection: mysql, SQL: select table_name as `name`,
(data_length + index_length) as `size`, table_comment as `comment`,
engine as `engine`, table_collation as `collation` from
information_schema.tables where table_schema = 'bigapp' and table_type
in ('BASE TABLE', 'SYSTEM VERSIONED') order by table_name)