Я создаю два док-контейнера, API и интерфейс. Мне удалось создать внешнюю сеть под названием «веб-сервер»
Я также могу заставить каждый контейнер успешно пропинговать другой.
Проблема в том, как использовать Guzzle, например, или JQuery для связи с моим API?
Выполнение чего-либо подобного не будет работать, так как моя сеть интерпретируется как строка:
$this->myClient = new Client([
'base_uri' => 'webserver'
'timeout' => $this->timeout,
]);
Вот мой файл составления докера:
version: "3"
services:
webserver:
build:
context: ./build/vhost
container_name: 'ss-api-webserver'
restart: 'always'
hostname: 'ssdev'
ports:
- "80:80"
- "443:443"
networks:
- backend
- frontend
depends_on:
- mariadb
volumes:
- ${DOCUMENT_ROOT-./www/api}:/var/www/dev.api.simplysweeps.com
- ${PHP_INI-./config/php}:/usr/local/etc/php
- ${VHOSTS_DIR-./config/vhosts}:/etc/apache2/sites-enabled
- ${LOG_DIR-./logs/apache2}:/var/log/apache
frontend:
build:
context: ./build/frontend
container_name: 'ss-fe-webserver'
restart: 'always'
hostname: 'ssdevfe'
ports:
- "82:80"
networks:
- frontend
volumes:
- ${DOCUMENT_ROOT_FE-./www/simplysweeps}:/var/www/dev.simplysweeps.com
- ${PHP_INI-./config/php}:/usr/local/etc/php
- ${VHOSTS_DIR_FE-./config/frontend}:/etc/apache2/sites-enabled
- ${APACHE_LOG_DIR-./logs/apache2}:/var/log/apache
mariadb:
build: ./build/mariadb
container_name: 'ss-api-maria-db'
restart: 'always'
ports:
- "3306:3306"
networks:
- backend
volumes:
- db-data:/var/lib/mysql
- ${MYSQL_LOG_DIR-./logs/mariadb}:/var/log/mysql
environment:
- MYSQL_ROOT_PASSWORD=buntsh4k4l4k4
- MYSQL_DATABASE= mysql
- MYSQL_USER= root
- MYSQL_PASSWORD= buntsh4k4l4k4
networks:
backend:
frontend:
external: true
volumes:
db-data: