2015-08-19 3 views
9

Кажется, что docker-compose добавляет имя текущей папки в качестве базового имени для каждого созданного контейнера. Так следующая структура каталогов:Как исправить basename контейнеров при использовании docker-compose?

/myproj/docker-compose.yml 

и докер-compose.yml содержание:

web: ... 
worker: ... 

докер-Compose создаст следующие контейнеры:

myproj_web_1 
myproj_worker_1 

Я не возражаю суффикс(), однако я хотел бы «исправить» myproj некоторой константой, как «always_same», чтобы я мог перемещать файл docker-compose.yml и иметь контейнеры с одинаковыми именами.

Как я могу это сделать?

ответ

9

Есть два способа сделать это.

Установить переменную среды с

export COMPOSE_PROJECT_NAME=foo 

или начать свой стек с -p переключателем

docker-compose -p foo build 
docker-compose -p foo up 
+4

Мне интересно, почему невозможно установить имя проекта в yml-файле - я думаю, это было бы самым удобно ... – user606521

+1

Поместите 'COMPOSE_PROJECT_NAME = foo' в файл' .env', и вы хорошо пойдете. –

+0

Нет, если вы используете 2 композиции файлов в одном каталоге (например, один для dev, другой для теста). – hammady

3

Вы можете добавить это к .yml файл

container_name: my-web-container 

как сказал here

+0

Да, но это не позволит мне масштабировать этот контейнер. Я хотел бы изменить только basename (префикс) всего контейнера на фиксированное имя вместо имени каталога ... – user606521

+0

@Chris broken link –

 Смежные вопросы

  • Нет связанных вопросов^_^