#docker #docker-compose
Вопрос:
Службы называются одинаково, потому что это два одинаковых проекта…
Когда я это сделаю:
docker-compose -f infra/local/docker-compose.yml ps
Это показало бы мне контейнеры из другого проекта:
jorgee@jorgee:~/Desktop/Proyectos/sss/sss_api_mx$ docker-compose -f ./infra/local/docker-compose.yml ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------
sss-mysql docker-entrypoint.sh mysqld Up 0.0.0.0:8081->3306/tcp,:::8081->3306/tcp, 33060/tcp
sss-php-fpm /usr/sbin/php-fpm7.4 -O Up 9000/tcp
sss-webserver nginx -g daemon off; Up 0.0.0.0:8080->80/tcp,:::8080->80/tcp
В то время как на самом деле контейнеры для этого проекта называются «mx», как вы можете видеть здесь:
version: "3.1"
services:
db:
image: mysql:8.0
container_name: sss-mx-mysql
environment:
MYSQL_DATABASE: ${SSS_DB_NAME:-sss}
MYSQL_ROOT_PASSWORD: ${SSS_DB_RPASSWORD:-sss}
MYSQL_PASSWORD: ${SSS_DB_PASSWORD:-sss}
MYSQL_USER: ${SSS_DB_USERNAME:-sss_user}
volumes:
- ./mysql-volume:/var/lib/mysql
ports:
- "8091:3306"
webserver:
image: nginx:alpine
container_name: sss-mx-webserver
working_dir: /application
volumes:
- ../../:/application
- ./docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
ports:
- "8090:80"
php-fpm:
env_file:
- ./docker/php-fpm/.env
environment:
PHP_IDE_CONFIG: "serverName=${SERVER_NAME:-SssWeb}"
build:
args:
user: sss-user
uid: 1000
context: ./docker/php-fpm
container_name: sss-mx-php-fpm
working_dir: /application
volumes:
- ../../:/application
- ./docker/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini
- ./docker/php-fpm/xdebug.ini:/etc/php/7.4/cli/conf.d/20-xdebug.ini
Почему docker-compose путается и показывает мне данные из другого проекта?
Комментарии:
1. Совпадают ли имена каталогов двух проектов? Имя проекта по умолчанию-это имя каталога. docs.docker.com/compose/reference (см.
-p
вариант)2. @NickODell Спасибо, да, в этом-то и проблема. И PhpStorm не поддерживает флаг-p, и если я объявлю его в файле .env (—env-файл), он также не будет работать. Поэтому мне приходится вручную запускать композицию с флагом-p