docker-compose up vs docker-compose up --build vs docker-compose build --no-cache

130

Nie mogłem zrozumieć, jaka jest różnica między nimi.

  • docker-compose up

  • docker-compose up --build

  • docker-compose build --no-cache

Czy jest jakieś polecenie upbez pamięci podręcznej?

Toshi
źródło

Odpowiedzi:

225

Poniższe tylko buduje obrazy, nie uruchamia kontenerów:

  • docker-compose build

Poniższe tworzy obrazy, jeśli obrazy nie istnieją i uruchamia kontenery:

  • docker-compose up

Jeśli dodasz tę --buildopcję, jest ona zmuszona do budowania obrazów, nawet gdy nie są potrzebne:

  • docker-compose up --build

Poniższe pomija proces tworzenia obrazu:

  • docker-compose up --no-build

Jeśli obrazy nie zostały utworzone wcześniej, nie powiedzie się.

Ta --no-cacheopcja wyłącza pamięć podręczną kompilacji platformy Docker w procesie tworzenia obrazu. Służy to do buforowania każdej warstwy w pliku Dockerfile i przyspieszenia tworzenia obrazu z wykorzystaniem warstw (~ linie pliku Dockerfile) utworzonych wcześniej dla innych identycznych obrazów.

zuazo
źródło
1
Co robi docker-compose up -d?
Hiroyuki Nuri
16
Spowoduje to uruchomienie kontenerów w trybie odłączonym, więc nie wyświetli żadnych danych wyjściowych z nich w konsoli i uruchomi je w tle.
stevejgordon
1
Zauważ, że niektóre opcje (takie jak -d) dla docker-compose up -dnie znajdują się w dokumentacji tylko dla docker-compose. Musisz spojrzeć na docs.docker.com/compose/reference/up
Simon_Weaver