Jak przesłonić nazwę projektu i nazwę sieci dla tworzenia dokerów


6

Czy możemy zastąpić naszą nazwę projektu i sieci wewnątrz docker-compose.yml, tj. Bez użycia flagi lub zmiennej środowiskowej?


Jak rozumiesz „nazwę projektu”? Nazwa obrazu?
Franz Wimmer

Nie, obecnie jest directory namei może być nadpisany przez COMPOSE_PROJECT_NAME, pierwsza opcja jest zbyt sztywna, ponieważ nazwa katalogu może się zmienić, druga ma wpływ na wszystkie projekty
ntviet18

Odpowiedzi:


6

Można to zrobić za pomocą parametru wywołania docker-compose:

$> docker-compose -p THISISMYPROJECT_AND_NWK_NAME up -d

Niestety w tej chwili nie ma sposobu, aby to utrzymać. (patrz: https://github.com/docker/compose/issues/745 )

Dlatego osobiście wolę dodawać alias bash dla moich projektów w ~ / .bash_aliases (Linux oparty na Debianie), na przykład:

# project PROJECT shortcuts
alias dc_PROJECT_up='docker-compose -p PROJECT up -d'
alias dc_PROJECT_down='docker-compose -p PROJECT down'

# general docker compose shortcuts
alias dc='docker-compose '
alias dc_up='docker-compose up -d'
alias dc_down='docker-compose down'

Więc mogę zadzwonić do dc_PROJECT_up, aby rozpocząć mój projekt z nazwą projektu PROJECT. Nazwa sieci to wtedy PROJECT_default.

Dodatkowo możesz skonfigurować dodatkowe sieci z niestandardowymi nazwami w docker-composer.yml w ten sposób (v. 2.1):

version: '2.1'

...

networks:
  mynwk:
    driver: bridge
    name: mynwk

 ...

Możesz to sprawdzić za pomocą następującego polecenia:

 $> docker network ls

Powinieneś otrzymać listę sieci, w tym twoją i domyślną.


1
Wygląda na to, że parametr nazwy nie działa już przy dokerze komponuj wersję 3
Alexis.Rolland

0

możesz utworzyć plik .env z opcjami klucz = wartość, takimi jak

COMPOSE_PROJECT_NAME={project name}

należy pamiętać, że będzie to działać tylko wtedy, gdy plik .env znajduje się w bieżącej ścieżce

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.