我使用Lumen来创建简单的API来进行身份验证。在安装LumenPassport之后,我无法迁移数据库。我可以很容易地连接到MySQL数据库与Dbeaver。我已经为同样的目的创建了一个Lumen Docker项目,它是第二个。第一个没有问题。此外,我检查了MySQL数据库,ms_api_shop在那里
错误:

这是我的船坞写作
services:
nginx:
build:
context: .
dockerfile: docker/Nginx.Dockerfile
image: nginx
ports:
- 8092:80
depends_on:
- fpm
volumes:
- ./:/var/www/lumen-docker
links:
- mysql
fpm:
build:
context: .
dockerfile: docker/fpm.Dockerfile
volumes:
- ./:/var/www/lumen-docker
depends_on:
- mysql
links:
- mysql
mysql:
image: mysql:5.7
ports:
- 33006:3306
environment:
- MYSQL_ROOT_PASSWORD=
- MYSQL_DATABASE=ms_api_shop
- MYSQL_ROOT_USER=
volumes:
- mysql-data:/var/lib/mysql
volumes:
mysql-data:和环境规划署:
DB_HOST=mysql
DB_PORT=33006
DB_DATABASE=ms_api_shop
DB_USERNAME=
DB_PASSWORD=发布于 2021-01-16 08:24:11
在您的docker文件中,您将33006容器端口绑定到主机端口的3306。如果您想访问MySQL,您应该像在.env中那样使用3306而不是33006
发布于 2021-01-16 08:27:19
我在Docker中运行了一个Laravel应用程序,我的docker配置的一部分如下所示:
但我个人认为它们应该位于网络中,看看下面docker-compose.yml中的最后两行代码:
mysql:
image: mysql:5.7.29
container_name: mysql
restart: unless-stopped
tty: true
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: homestead
MYSQL_USER: homestead
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
SERVICE_TAGS: dev
SERVICE_NAME: mysql
volumes:
- ./mysql:/var/lib/mysql
networks:
- laravel 发布于 2021-01-16 09:36:36
据我所知,码头集装箱可以在同一个网络上相互通信。你似乎还没有把docker-compose中的这两个码头连接起来。要从容器中获取网络信息,可以使用以下命令。
$ docker inspect --format='{{json .NetworkSettings.Networks}}' <docker_container_name>如果您需要连接这两个容器,请执行以下步骤:
首先,创建一个网络。
$ docker network create my-net第二,将容器连接到网络。
$ docker network connect my-net <docker_container_name>不要忘记将这两个容器连接到网络上。
https://stackoverflow.com/questions/65747583
复制相似问题