Я не совсем понимаю, как можно из одного контейнера, обратиться к другому контейнеру или как можно вызвать центрифуга.
Мои docker-compose.yml
version: '3.2'
networks:
project:
services:
nginx:
container_name: project_nginx
image: nginx:1.18.0
ports:
- 80:80
volumes:
- ./:/var/www/project
- ./docker/nginx/api.project.local.conf:/etc/nginx/conf.d/api.project.local.conf
- ./docker/nginx/b.project.local.conf:/etc/nginx/conf.d/b.project.local.conf
- ./docker/nginx/lk.project.local.conf:/etc/nginx/conf.d/lk.project.local.conf
networks:
- project
depends_on:
- php
php:
container_name: project_php
build: /docker/php8.1-fpm
volumes:
- ./:/var/www/project
- ./docker/php.ini:/usr/local/etc/php/conf.d/php.ini
networks:
- project
depends_on:
- db
db:
container_name: project_db
restart: always
image: mariadb:10.1
command: ["--default-authentication-plugin=mysql_native_password"]
volumes:
- ./docker/mariadb/scripts/table.sql:/docker-entrypoint-initdb.d/1-table.sql
- ./docker/mariadb/scripts/data.sql:/docker-entrypoint-initdb.d/2-data.sql
environment:
MYSQL_ROOT_PASSWORD: pass
MYSQL_DATABASE: project
MYSQL_USER: myUser
MYSQL_PASSWORD: myUser
networks:
- project
adminer:
image: adminer
container_name: project_adminer
restart: always
depends_on:
- db
ports:
- 8088:8080
networks:
- project
centrifugo:
container_name: centrifugo
image: centrifugo/centrifugo:v5
volumes:
- ./docker/centrifugo.json:/centrifugo/config.json
command: centrifugo -c config.json
ports:
- 8000:8000
ulimits:
nofile:
soft: 65535
hard: 65535
networks:
- project
Но чтобы мне сгенерировать токен у centrifugo из контейнера php не пойму как. Если я на локальной машине запущу команду, то я получу
docker exec -it centrifugo centrifugo gentoken -u 76
HMAC SHA-256 JWT for user "76" with expiration TTL 168h0m0s:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI3NiIsImV4cCI6MTcyOTUzNTM1OSwiaWF0IjoxNzI4OTMwNTU5fQ.fc36bDoa7yK-3ZH8FpknViK30imENfyEimpCX5B39d4
Но когда мое приложение на php работает, я не смогу такую команду выполнить. Как правильно и как вообще мне обращаться к другому контейнеру.
Или это все по другому делается?