我正在尝试使用服务于我正在开发的Web应用程序的Docker和服务于API的Laravel Valet的组合来获取本地开发环境,该服务正在API(正在api.test上提供)。

我不知道如何从Docker容器中访问API?
Dockerfile:

FROM php:5-apache

WORKDIR /var/www/html

COPY ./default.conf /etc/apache2/sites-available/000-default.conf

RUN apt-get update && \
  apt-get -y install curl git libicu-dev libpq-dev zlib1g-dev zip libmcrypt-dev libgd-dev && \
  docker-php-ext-install intl mbstring pcntl zip mcrypt && \
  usermod -u 1000 www-data && \
  usermod -a -G users www-data && \
  chown -R www-data:www-data /var/www && \
  curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
  a2enmod rewrite && \
  curl -sL https://deb.nodesource.com/setup_13.x | bash - && \
  apt-get install -y nodejs && \
  docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
  docker-php-ext-install gd

COPY . /var/www/html
docker-compose.yml:
version: '2'
services:
  web:
    build: .
    ports:
      - "8090:80"
    volumes:
      - .:/var/www/html
    network_mode: bridge

最佳答案

好的,终于在 friend 的帮助下解决了这个问题。

我找到了主机的IP地址:ping host.docker.internal,这给了我192.168.65.2

然后使用以下命令更新Docker容器中的/etc/hosts文件:

192.168.65.2 api.test

(其中api.test是在我的本地主机上提供API的路由)

现在我可以从Docker容器中击打api.test :-)

关于docker - 通过Docker容器通过Laravel Valet在本地服务的访问站点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59100406/

10-10 18:20
查看更多