Docker Связь между двумя приложениями внутри одного контейнера - PullRequest
1 голос
/ 26 июня 2019

У меня есть два приложения - app1 работает на localhost / app1.app2, которая выставляет api, работает на localhost / app2. Оба эти приложения используют сервер nginx.App1 делает HTTP-запрос GET к app2, который выдает ошибку cURL 7: Не удалось подключиться.

Но при контейнеризации обоих этих приложений (и их запуске в одной сети), какой URL-адрес должен отправлять app1получить сведения о API?

Docker-compose.yml

version: '2'
services:
  web:
    image: nginx
    ports:
      - "83:80"
      - "443:443"
    links:
      - php
    volumes:
      - /code:/var/www/html

  php:
    build:
      context: .
      dockerfile: ./Dockerfile
    volumes:
      - /code:/var/www/html

В каталоге кодов 2 папки app1 и app2, где app1 - база кода приложения, а app2 - база кода API

Запись Virutalhost, установленная внутри веб-контейнера

server {
  listen 80;
  server_name default;
  root        /var/www/html;
  index       index.html index.php;
 client_max_body_size 100M;
  fastcgi_read_timeout 1800;
  location / {
    try_files $uri $uri/ /index.php$is_args$args;
  }
  location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    expires       max;
    log_not_found off;
    access_log    off;  }

  location ~ \.php$ {
    try_files     $uri =404;
    include       fastcgi_params;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass  lamp_php_1:9000;
  }
}
...