Level 80
@murilo Yes, it’s possible, so long as you use the same volume in both projects.
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
hello , I am trying to create 2 Laravel projects with docker compose . But 1 databse . I want to share these databse between the two projects .
Is that possible ? I am tryin to do like this -
PROJECT ONE - docker-compose.yaml -
version: "3.9"
networks:
project_one:
services:
server:
# image: 'nginx:stable-alpine'
build:
context: .
dockerfile: dockerfiles/nginx.dockerfile
ports:
- 8081:80
- 7010:7010
volumes:
- ./src:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- php
- redis
- mysql
container_name: project_one_server
networks:
- project_one
mysql:
image: mysql:8.0.1
restart: unless-stopped
tty: true
container_name: mysql_sso_one
env_file:
- ./env/mysql.env
ports:
- 3306:3306
networks:
- project_one
volumes:
- /opt/mysql_data_sso_one:/var/lib/mysql
php:
build:
context: .
dockerfile: dockerfiles/php.dockerfile
container_name: php_one_server
volumes:
- ./src:/var/www/html:delegated
networks:
- project_one
redis:
image: redis:alpine
restart: unless-stopped
ports:
- 6379:6379
networks:
- project_one
composer:
build:
context: ./dockerfiles
dockerfile: composer.dockerfile
volumes:
- ./src:/var/www/html
depends_on:
- php
networks:
- project_one
artisan:
build:
context: .
dockerfile: dockerfiles/php.dockerfile
volumes:
- ./src:/var/www/html
entrypoint: ["php", "/var/www/html/artisan"]
networks:
- project_one
npm:
build:
context: .
dockerfile: dockerfiles/node.dockerfile
working_dir: /var/www/html
entrypoint: [ "npm" ]
volumes:
- ./src:/var/www/html
networks:
- project_one
phpmyadmin:
image: phpmyadmin/phpmyadmin:latest
restart: always
container_name: phpmyadmin_sso_one
depends_on:
- mysql
ports:
- '8890:80'
environment:
- PMA_HOST=mysql
- PMA_USER=root
- PMA_PASSWORD=secret
networks:
- project_one
mailhog:
image: mailhog/mailhog:latest
container_name: mailhog_sso_one
ports:
- 1025:1025
- 8025:8025
networks:
- project_one
PROJECT TWO- docker-compose.yaml -
version: "3.9"
networks:
project_one:
driver: bridge
project_two:
services:
server:
# image: 'nginx:stable-alpine'
build:
context: .
dockerfile: dockerfiles/nginx.dockerfile
restart: unless-stopped
ports:
- "8083:80"
volumes:
- ./src:/var/www/html
- ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- php
- project_one
- project_two
container_name: project_two_server
networks:
- project_two
- project_one
php:
build:
context: .
dockerfile: dockerfiles/php.dockerfile
container_name: php_parametros_server
volumes:
- ./src:/var/www/html:delegated
ports:
- 8088:9000
networks:
- project_two
- project_one
composer:
build:
context: ./dockerfiles
dockerfile: composer.dockerfile
volumes:
- ./src:/var/www/html
depends_on:
- php
networks:
- project_two
artisan:
build:
context: .
dockerfile: dockerfiles/php.dockerfile
volumes:
- ./src:/var/www/html
entrypoint: ["php", "/var/www/html/artisan"]
networks:
- project_two
.env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=project_one
DB_USERNAME=root
DB_PASSWORD=secret
Please or to participate in this conversation.