我有一个对接组合环境设置。但内部服务“流明”我试图使一个CURL请求服务本身。
但是,容器无法从本地主机8000或内腔8000??访问自身
当我从服务调用lumen:8000时,它从不返回响应,只是不断加载(curl请求是针对不同的url,所以没有无限循环)
在我的Laravel控制器中,我发现协议、主机和端口为:管腔:8000
我似乎Laravel不能连接到自己,我真的需要我的项目。
我可以通过localhost从我自己的电脑连接到Laravel,但我需要Laravel自己称呼它。
执行CURL请求后,来自Laravel控制器的错误消息:将主机更改为“lumen”只会使请求负载无限大。无论我尝试连接到哪个页面。
Docker合成文件:
version: "3.5"
services:
lumen:
expose:
- "8000"
ports:
- "8000:8000"
volumes:
- ./server:/var/www/html
- ./server/vendor:/var/www/html/vendor/
build:
context: server
dockerfile: Dockerfile
command: php -S lumen:8000 -t public
restart: always
privileged: true
depends_on:
- database
networks:
- database
frontend:
build:
context: client
dockerfile: Dockerfile
volumes:
- ./client/src:/app/src
ports:
- 3000:3000
stdin_open: true
#restart: always
networks:
- database
# Database Service (Mysql)
database:
image: mysql:latest
container_name: blogmoda_mysql
environment:
MYSQL_DATABASE: blogmoda-app
MYSQL_USER: root
MYSQL_PASSWORD: root
MYSQL_ROOT_PASSWORD: root
command: ['--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci','--default-authentication-plugin=mysql_native_password']
ports:
- "127.0.0.1:3306:3306"
volumes:
- db-data:/var/lib/mysql
networks:
- database
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: dev_phpmyadmin
links:
- database
environment:
PMA_HOST: database
PMA_PORT: 3306
PMA_ARBITRARY: 1
restart: always
depends_on:
- database
ports:
- 9001:80
networks:
- database
volumes:
db-data:
# Networks to be created to facilitate communication between containers
networks:
database:
服务器停靠文件:
FROM php:8.1-fpm-alpine
RUN apk update && apk add bash
RUN apk add chromium
RUN apk add --no-cache zip libzip-dev
RUN docker-php-ext-configure zip
RUN docker-php-ext-install zip
RUN docker-php-ext-install pdo pdo_mysql
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install opcache
WORKDIR /var/www/html/
RUN php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer
COPY . .
RUN composer install --ignore-platform-req=ext-zip --ignore-platform-reqs
2条答案
按热度按时间aiazj4mn1#
我相信
localhost
应该可以工作,假设curl安装在lumen
中,在lumen
服务下的compose文件中,您可以尝试更改命令吗通过bash转换为直接 curl
然后检查
lumen
容器的日志,查看curl是否成功运行。332nm8kg2#
尝试
0.0.0.0:8000
而不是localhost:8000
。它也适用于本地主机