Kontenery to tylko przykład obrazu, którego używasz do ich uruchamiania. Stan umysłu podczas tworzenia aplikacji kontenerowej nie polega na przykład na pobraniu świeżego, czystego kontenera Ubuntu i pobraniu aplikacji i konfiguracji, które chcesz w nim mieć, a następnie uruchomieniu.
Kontener należy traktować jako wystąpienie aplikacji, ale aplikacja jest osadzona w obrazie. Właściwym użyciem byłoby utworzenie niestandardowego obrazu, w którym osadzasz wszystkie swoje pliki, konfiguracje, zmienne środowiskowe itp. W obrazie. Przeczytaj więcej o Dockerfile i jak to się robi tutaj
Gdy to zrobisz, masz obraz, który zawiera wszystko, a aby użyć aplikacji, po prostu uruchom obraz z odpowiednimi ustawieniami portu lub innymi zmiennymi dynamicznymi, używając docker run <your-image>
Uruchamianie kontenerów z --rm
flagą jest dobre dla tych kontenerów, których używasz przez bardzo krótki czas, aby coś zrobić, np. Skompilować aplikację w kontenerze lub po prostu przetestować coś, co działa, a wtedy wiesz, że jest to kontener krótkotrwały i ty powiedz swojemu demonowi Docker, że po zakończeniu działania usuń wszystko z nim związane i zaoszczędź miejsce na dysku.
--rm
usuwa zatrzymany kontener (ten utworzonydocker run
), a nie obraz, na którym został oparty (co pobrałeś).