Я пытаюсь настроить docker-compose
так, чтобы я мог получить доступ к MySQL
контейнеру (и, вероятно, redis
и другим) из localhost
или 127.0.0.1
из моего основного app
контейнера.Это сделано для того, чтобы имитировать настройки на моем хостинге, где База данных является отдельным сервером, но все еще доступна для localhost
.
. Я попытался использовать network_mode: services:app
в mysql
и phpmyadmin
сервисах, чтобы получить то, что я хотелно он конфликтует с depends_on
из-за круговой зависимости .Мне также нужны зависимости для запуска с контейнером app
.
Есть ли способ настроить это с docker-compose
или настроить переадресацию на app
Dockerfile
?
My docker-compose.yml
version: '3'
services:
app:
container_name: app
build: .
volumes:
- .:/var/project
working_dir: /var/project
ports:
- "8080:80"
depends_on:
- mysql
- phpmyadmin
composer:
restart: 'no'
image: composer:latest
command: install --ignore-platform-reqs
volumes:
- .:/var/project
working_dir: /var/project
node:
restart: 'no'
image: node:8
command: npm install
volumes:
- .:/var/project
working_dir: /var/project
mysql:
image: mysql:5.7
container_name: mysql
network_mode: services:app
environment:
MYSQL_DATABASE: app_db
MYSQL_USER: app
MYSQL_PASSWORD: app
MYSQL_RANDOM_ROOT_PASSWORD: "true"
phpmyadmin:
image: phpmyadmin/phpmyadmin
container_name: phpmyadmin
network_mode: services:app
restart: always
environment:
PMA_HOST: mysql
PMA_PORT: 3306
PMA_USER: app
PMA_PASSWORD: app